ntdll: Convert the handles to server handles in NTDLL_wait_for_multiple_objects.
This commit is contained in:
parent
dcbe616a0e
commit
e81d453f63
|
@ -1037,14 +1037,16 @@ NTSTATUS NTDLL_wait_for_multiple_objects( UINT count, const HANDLE *handles, UIN
|
||||||
const LARGE_INTEGER *timeout, HANDLE signal_object )
|
const LARGE_INTEGER *timeout, HANDLE signal_object )
|
||||||
{
|
{
|
||||||
NTSTATUS ret;
|
NTSTATUS ret;
|
||||||
int cookie;
|
int i, cookie;
|
||||||
BOOL user_apc = FALSE;
|
BOOL user_apc = FALSE;
|
||||||
|
obj_handle_t obj_handles[MAXIMUM_WAIT_OBJECTS];
|
||||||
obj_handle_t apc_handle = 0;
|
obj_handle_t apc_handle = 0;
|
||||||
apc_call_t call;
|
apc_call_t call;
|
||||||
apc_result_t result;
|
apc_result_t result;
|
||||||
timeout_t abs_timeout = timeout ? timeout->QuadPart : TIMEOUT_INFINITE;
|
timeout_t abs_timeout = timeout ? timeout->QuadPart : TIMEOUT_INFINITE;
|
||||||
|
|
||||||
memset( &result, 0, sizeof(result) );
|
memset( &result, 0, sizeof(result) );
|
||||||
|
for (i = 0; i < count; i++) obj_handles[i] = wine_server_obj_handle( handles[i] );
|
||||||
|
|
||||||
for (;;)
|
for (;;)
|
||||||
{
|
{
|
||||||
|
@ -1056,7 +1058,7 @@ NTSTATUS NTDLL_wait_for_multiple_objects( UINT count, const HANDLE *handles, UIN
|
||||||
req->prev_apc = apc_handle;
|
req->prev_apc = apc_handle;
|
||||||
req->timeout = abs_timeout;
|
req->timeout = abs_timeout;
|
||||||
wine_server_add_data( req, &result, sizeof(result) );
|
wine_server_add_data( req, &result, sizeof(result) );
|
||||||
wine_server_add_data( req, handles, count * sizeof(HANDLE) );
|
wine_server_add_data( req, obj_handles, count * sizeof(*obj_handles) );
|
||||||
ret = wine_server_call( req );
|
ret = wine_server_call( req );
|
||||||
abs_timeout = reply->timeout;
|
abs_timeout = reply->timeout;
|
||||||
apc_handle = reply->apc_handle;
|
apc_handle = reply->apc_handle;
|
||||||
|
|
Loading…
Reference in New Issue