Module: wine Branch: master Commit: f30b7089162f4eee3b2e39bc02f2df9259136fa4 URL: http://source.winehq.org/git/wine.git/?a=commit;h=f30b7089162f4eee3b2e39bc02...
Author: Peter Oberndorfer kumbayo84@arcor.de Date: Wed Sep 22 19:53:16 2010 +0200
kernel32: Fix WaitForMultipleObjectsEx for handles with lower 2 bits set.
---
dlls/kernel32/sync.c | 7 ++----- dlls/kernel32/tests/sync.c | 4 ++-- 2 files changed, 4 insertions(+), 7 deletions(-)
diff --git a/dlls/kernel32/sync.c b/dlls/kernel32/sync.c index eac08c8..b65b626 100644 --- a/dlls/kernel32/sync.c +++ b/dlls/kernel32/sync.c @@ -180,11 +180,8 @@ DWORD WINAPI WaitForMultipleObjectsEx( DWORD count, const HANDLE *handles, */ if (is_console_handle(hloc[i])) { - if (!VerifyConsoleIoHandle(hloc[i])) - { - return FALSE; - } - hloc[i] = GetConsoleInputWaitHandle(); + if (VerifyConsoleIoHandle(hloc[i])) + hloc[i] = GetConsoleInputWaitHandle(); } }
diff --git a/dlls/kernel32/tests/sync.c b/dlls/kernel32/tests/sync.c index 095c935..30811b5 100644 --- a/dlls/kernel32/tests/sync.c +++ b/dlls/kernel32/tests/sync.c @@ -978,7 +978,7 @@ static void test_WaitForSingleObject(void)
SetLastError(0xdeadbeef); ret = WaitForSingleObject(modify_handle(invalid, 3), 0); - todo_wine ok(ret == WAIT_FAILED, "expected WAIT_FAILED, got %d\n", ret); + ok(ret == WAIT_FAILED, "expected WAIT_FAILED, got %d\n", ret); ok(GetLastError() == ERROR_INVALID_HANDLE, "expected ERROR_INVALID_HANDLE, got %d\n", GetLastError());
/* valid handle with different values for lower 2 bits */ @@ -999,7 +999,7 @@ static void test_WaitForSingleObject(void)
SetLastError(0xdeadbeef); ret = WaitForSingleObject(modify_handle(nonsignaled, 3), 0); - todo_wine ok(ret == WAIT_TIMEOUT, "expected WAIT_TIMEOUT, got %d\n", ret); + ok(ret == WAIT_TIMEOUT, "expected WAIT_TIMEOUT, got %d\n", ret); todo_wine ok(GetLastError() == 0xdeadbeef, "expected 0xdeadbeef, got %d\n", GetLastError());
/* valid handle with different values for lower 2 bits */