Module: wine Branch: master Commit: e487b560d9a54a5f21274ca5722bb2b268b9424e URL: http://source.winehq.org/git/wine.git/?a=commit;h=e487b560d9a54a5f21274ca572...
Author: Alexandre Julliard julliard@winehq.org Date: Tue Oct 27 16:52:35 2009 +0100
kernel32: Make GetQueuedCompletionStatus return failure for I/O errors, as per MSDN.
---
dlls/kernel32/sync.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/dlls/kernel32/sync.c b/dlls/kernel32/sync.c index be73c98..8330d4a 100644 --- a/dlls/kernel32/sync.c +++ b/dlls/kernel32/sync.c @@ -2127,7 +2127,9 @@ BOOL WINAPI GetQueuedCompletionStatus( HANDLE CompletionPort, LPDWORD lpNumberOf if (status == STATUS_SUCCESS) { *lpNumberOfBytesTransferred = iosb.Information; - return TRUE; + if (iosb.u.Status >= 0) return TRUE; + SetLastError( RtlNtStatusToDosError(iosb.u.Status) ); + return FALSE; }
if (status == STATUS_TIMEOUT) SetLastError( WAIT_TIMEOUT );