Module: wine Branch: master Commit: 6345787cf48dac02c17fb8848c0ff7c8f998cb2e URL: https://source.winehq.org/git/wine.git/?a=commit;h=6345787cf48dac02c17fb8848...
Author: Zebediah Figura z.figura12@gmail.com Date: Sat Nov 24 22:34:41 2018 -0600
ntoskrnl.exe: Implement KeResetEvent().
Signed-off-by: Zebediah Figura z.figura12@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/ntoskrnl.exe/ntoskrnl.c | 10 ---------- dlls/ntoskrnl.exe/sync.c | 19 +++++++++++++++++++ 2 files changed, 19 insertions(+), 10 deletions(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index 189f303..e6ca5e9 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -2430,16 +2430,6 @@ ULONG WINAPI KeQueryTimeIncrement(void)
/*********************************************************************** - * KeResetEvent (NTOSKRNL.EXE.@) - */ -LONG WINAPI KeResetEvent( PRKEVENT Event ) -{ - FIXME("(%p): stub\n", Event); - return 0; -} - - -/*********************************************************************** * KeSetPriorityThread (NTOSKRNL.EXE.@) */ KPRIORITY WINAPI KeSetPriorityThread( PKTHREAD Thread, KPRIORITY Priority ) diff --git a/dlls/ntoskrnl.exe/sync.c b/dlls/ntoskrnl.exe/sync.c index 6bea027..3e6fcd4 100644 --- a/dlls/ntoskrnl.exe/sync.c +++ b/dlls/ntoskrnl.exe/sync.c @@ -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; +}