ntoskrnl.exe: Implement KeResetEvent().

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2018-11-24 22:34:41 -06:00 committed by Alexandre Julliard
parent 469c2fd4d7
commit 6345787cf4
2 changed files with 19 additions and 10 deletions

View File

@ -2429,16 +2429,6 @@ ULONG WINAPI KeQueryTimeIncrement(void)
}
/***********************************************************************
* KeResetEvent (NTOSKRNL.EXE.@)
*/
LONG WINAPI KeResetEvent( PRKEVENT Event )
{
FIXME("(%p): stub\n", Event);
return 0;
}
/***********************************************************************
* KeSetPriorityThread (NTOSKRNL.EXE.@)
*/

View File

@ -144,3 +144,22 @@ LONG WINAPI KeSetEvent( PRKEVENT event, KPRIORITY increment, BOOLEAN wait )
return ret;
}
/***********************************************************************
* KeResetEvent (NTOSKRNL.EXE.@)
*/
LONG WINAPI KeResetEvent( PRKEVENT event )
{
HANDLE handle = event->Header.WaitListHead.Blink;
LONG ret;
TRACE("event %p.\n", event);
EnterCriticalSection( &sync_cs );
ret = InterlockedExchange( &event->Header.SignalState, FALSE );
if (handle)
ResetEvent( handle );
LeaveCriticalSection( &sync_cs );
return ret;
}