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