ntdll: Do not check if object was signaled after user APC in server_select.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
49dd5577eb
commit
8a33dd43f6
|
@ -2317,20 +2317,16 @@ static DWORD WINAPI alertable_wait_thread(void *param)
|
|||
|
||||
ReleaseSemaphore(semaphores[0], 1, NULL);
|
||||
result = WaitForMultipleObjectsEx(1, &semaphores[1], TRUE, 1000, TRUE);
|
||||
todo_wine
|
||||
ok(result == WAIT_IO_COMPLETION, "expected WAIT_IO_COMPLETION, got %u\n", result);
|
||||
result = WaitForMultipleObjectsEx(1, &semaphores[1], TRUE, 200, TRUE);
|
||||
todo_wine
|
||||
ok(result == WAIT_OBJECT_0, "expected WAIT_OBJECT_0, got %u\n", result);
|
||||
|
||||
ReleaseSemaphore(semaphores[0], 1, NULL);
|
||||
timeout.QuadPart = -10000000;
|
||||
status = pNtWaitForMultipleObjects(1, &semaphores[1], FALSE, TRUE, &timeout);
|
||||
todo_wine
|
||||
ok(status == STATUS_USER_APC, "expected STATUS_USER_APC, got %08x\n", status);
|
||||
timeout.QuadPart = -2000000;
|
||||
status = pNtWaitForMultipleObjects(1, &semaphores[1], FALSE, TRUE, &timeout);
|
||||
todo_wine
|
||||
ok(status == STATUS_WAIT_0, "expected STATUS_WAIT_0, got %08x\n", status);
|
||||
|
||||
ReleaseSemaphore(semaphores[0], 1, NULL);
|
||||
|
|
|
@ -614,10 +614,11 @@ unsigned int server_select( const select_op_t *select_op, data_size_t size, UINT
|
|||
if (ret != STATUS_USER_APC) break;
|
||||
if (invoke_apc( &call, &result ))
|
||||
{
|
||||
/* if we ran a user apc we have to check once more if an object got signaled,
|
||||
/* if we ran a user apc we have to check once more if additional apcs are queued,
|
||||
* but we don't want to wait */
|
||||
abs_timeout = 0;
|
||||
user_apc = TRUE;
|
||||
size = 0;
|
||||
}
|
||||
|
||||
/* don't signal multiple times */
|
||||
|
|
Loading…
Reference in New Issue