Module: wine Branch: master Commit: 05b278675f4b213fe881bbc6175c09a812f3047c URL: https://source.winehq.org/git/wine.git/?a=commit;h=05b278675f4b213fe881bbc61...
Author: Zebediah Figura z.figura12@gmail.com Date: Sat Nov 24 22:34:42 2018 -0600
ntoskrnl.exe: Implement KeWaitForSingleObject().
Signed-off-by: Zebediah Figura z.figura12@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/ntoskrnl.exe/ntoskrnl.c | 13 ------------- dlls/ntoskrnl.exe/sync.c | 9 +++++++++ include/ddk/wdm.h | 1 + 3 files changed, 10 insertions(+), 13 deletions(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index e6ca5e9..c1cfb03 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -2447,19 +2447,6 @@ VOID WINAPI KeSetSystemAffinityThread(KAFFINITY Affinity) }
/*********************************************************************** - * KeWaitForSingleObject (NTOSKRNL.EXE.@) - */ -NTSTATUS WINAPI KeWaitForSingleObject(PVOID Object, - KWAIT_REASON WaitReason, - KPROCESSOR_MODE WaitMode, - BOOLEAN Alertable, - PLARGE_INTEGER Timeout) -{ - FIXME( "stub: %p, %d, %d, %d, %p\n", Object, WaitReason, WaitMode, Alertable, Timeout ); - return STATUS_NOT_IMPLEMENTED; -} - -/*********************************************************************** * IoRegisterFileSystem (NTOSKRNL.EXE.@) */ VOID WINAPI IoRegisterFileSystem(PDEVICE_OBJECT DeviceObject) diff --git a/dlls/ntoskrnl.exe/sync.c b/dlls/ntoskrnl.exe/sync.c index 3e6fcd4..8011b56 100644 --- a/dlls/ntoskrnl.exe/sync.c +++ b/dlls/ntoskrnl.exe/sync.c @@ -114,6 +114,15 @@ NTSTATUS WINAPI KeWaitForMultipleObjects(ULONG count, void *pobjs[], }
/*********************************************************************** + * KeWaitForSingleObject (NTOSKRNL.EXE.@) + */ +NTSTATUS WINAPI KeWaitForSingleObject( void *obj, KWAIT_REASON reason, + KPROCESSOR_MODE mode, BOOLEAN alertable, LARGE_INTEGER *timeout ) +{ + return KeWaitForMultipleObjects( 1, &obj, WaitAny, reason, mode, alertable, timeout, NULL ); +} + +/*********************************************************************** * KeInitializeEvent (NTOSKRNL.EXE.@) */ void WINAPI KeInitializeEvent( PRKEVENT event, EVENT_TYPE type, BOOLEAN state ) diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h index dbbc5a1..522bb3f 100644 --- a/include/ddk/wdm.h +++ b/include/ddk/wdm.h @@ -1433,6 +1433,7 @@ LONG WINAPI KeSetEvent(PRKEVENT,KPRIORITY,BOOLEAN); KPRIORITY WINAPI KeSetPriorityThread(PKTHREAD,KPRIORITY); void WINAPI KeSetSystemAffinityThread(KAFFINITY); NTSTATUS WINAPI KeWaitForMultipleObjects(ULONG,void*[],WAIT_TYPE,KWAIT_REASON,KPROCESSOR_MODE,BOOLEAN,LARGE_INTEGER*,KWAIT_BLOCK*); +NTSTATUS WINAPI KeWaitForSingleObject(void*,KWAIT_REASON,KPROCESSOR_MODE,BOOLEAN,LARGE_INTEGER*);
PVOID WINAPI MmAllocateContiguousMemory(SIZE_T,PHYSICAL_ADDRESS); PVOID WINAPI MmAllocateNonCachedMemory(SIZE_T);