Hi,
On Sun, Dec 31, 2006 at 05:28:23PM +0800, Dmitry Timoshkov wrote:
Hello,
Running RedAlert demo spits a lot of FIXMEs about converting errno 29 (ESPIPE) to STATUS_UNSUCCESSFUL. In Linux /usr/include/asm/errno.h has a comment /* Illegal seek */ for ESPIPE, so STATUS_ILLEGAL_FUNCTION seems to be the best choice.
Changelog: ntdll: Map ESPIPE to STATUS_ILLEGAL_FUNCTION.
The STATUS_ILLEGAL_FUNCTION name was rather misleading to me since it doesn't indicate at all that it's supposed to be pipe-related (however it's within the numeric range of many other pipe status codes!). So, given that this is mainly a pipe status code after all I'd say that's the best we can achieve right now. Of course, what really matters is what the receiving Win32 side *usually* expects after we encountered ESPIPE, and this might turn out to differ from your conversion ;). (is there any indication that RedAlert checks for a specific status code??)
Andreas Mohr
"Andreas Mohr" andi@rhlx01.fht-esslingen.de wrote:
The STATUS_ILLEGAL_FUNCTION name was rather misleading to me since it doesn't indicate at all that it's supposed to be pipe-related (however it's within the numeric range of many other pipe status codes!). So, given that this is mainly a pipe status code after all I'd say that's the best we can achieve right now.
I haven't found anything more close is the PSDK.
Of course, what really matters is what the receiving Win32 side *usually* expects after we encountered ESPIPE, and this might turn out to differ from your conversion ;). (is there any indication that RedAlert checks for a specific status code??)
Looks like that my change didn't actually affected RedAlert at all, at least it was still functioning in my limited test session.