wineandroid.drv: Return result through NtCallbackReturn for the start device callback.
This commit is contained in:
parent
643538a836
commit
be44253c94
2 changed files with 4 additions and 4 deletions
|
@ -1177,7 +1177,8 @@ void start_android_device(void)
|
|||
{
|
||||
void *ret_ptr;
|
||||
ULONG ret_len;
|
||||
thread = ULongToHandle( KeUserModeCallback( client_start_device, NULL, 0, &ret_ptr, &ret_len ));
|
||||
KeUserModeCallback( client_start_device, NULL, 0, &ret_ptr, &ret_len );
|
||||
if (ret_len == sizeof(thread)) thread = *(HANDLE *)ret_ptr;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -34,7 +34,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(android);
|
|||
|
||||
extern NTSTATUS CDECL wine_ntoskrnl_main_loop( HANDLE stop_event );
|
||||
static HANDLE stop_event;
|
||||
static HANDLE thread;
|
||||
|
||||
|
||||
static NTSTATUS WINAPI ioctl_callback( DEVICE_OBJECT *device, IRP *irp )
|
||||
|
@ -97,10 +96,10 @@ static NTSTATUS WINAPI android_start_device(void *param, ULONG size)
|
|||
HANDLE handles[2];
|
||||
|
||||
handles[0] = CreateEventW( NULL, TRUE, FALSE, NULL );
|
||||
handles[1] = thread = CreateThread( NULL, 0, device_thread, handles[0], 0, NULL );
|
||||
handles[1] = CreateThread( NULL, 0, device_thread, handles[0], 0, NULL );
|
||||
WaitForMultipleObjects( 2, handles, FALSE, INFINITE );
|
||||
CloseHandle( handles[0] );
|
||||
return HandleToULong( thread );
|
||||
return NtCallbackReturn( &handles[1], sizeof(handles[1]), STATUS_SUCCESS );
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue