ntoskrnl: Allow running user APC inside the device manager loop.

This commit is contained in:
Alexandre Julliard 2015-03-13 17:02:35 +09:00
parent 33e9798f72
commit c40239d989

View File

@ -244,10 +244,15 @@ NTSTATUS CDECL wine_ntoskrnl_main_loop( HANDLE stop_event )
/* restart with larger buffer */ /* restart with larger buffer */
break; break;
case STATUS_PENDING: case STATUS_PENDING:
if (WaitForMultipleObjects( 2, handles, FALSE, INFINITE ) == WAIT_OBJECT_0) for (;;)
{ {
HeapFree( GetProcessHeap(), 0, in_buff ); DWORD ret = WaitForMultipleObjectsEx( 2, handles, FALSE, INFINITE, TRUE );
return STATUS_SUCCESS; if (ret == WAIT_OBJECT_0)
{
HeapFree( GetProcessHeap(), 0, in_buff );
return STATUS_SUCCESS;
}
if (ret != WAIT_IO_COMPLETION) break;
} }
break; break;
} }