Alexandre Julliard : kernel32: Make GetQueuedCompletionStatus return failure for I/O errors, as per MSDN.
Alexandre Julliard
julliard at winehq.org
Wed Oct 28 10:12:23 CDT 2009
Module: wine
Branch: master
Commit: e487b560d9a54a5f21274ca5722bb2b268b9424e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=e487b560d9a54a5f21274ca5722bb2b268b9424e
Author: Alexandre Julliard <julliard at 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 );
More information about the wine-cvs
mailing list