Module: wine Branch: master Commit: e3223f30aa298044dcf5c72e0ae64352d953f690 URL: https://source.winehq.org/git/wine.git/?a=commit;h=e3223f30aa298044dcf5c72e0...
Author: Zebediah Figura z.figura12@gmail.com Date: Mon Nov 26 19:39:18 2018 -0600
ntoskrnl.exe: Implement KeInitializeMutex().
Signed-off-by: Zebediah Figura z.figura12@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/ntoskrnl.exe/ntoskrnl.c | 9 --------- dlls/ntoskrnl.exe/sync.c | 14 ++++++++++++++ include/ddk/wdm.h | 1 + 3 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index d0e77c5..1d1033e 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -2278,15 +2278,6 @@ PRKTHREAD WINAPI KeGetCurrentThread(void) }
/*********************************************************************** - * KeInitializeMutex (NTOSKRNL.EXE.@) - */ -void WINAPI KeInitializeMutex(PRKMUTEX Mutex, ULONG Level) -{ - FIXME( "stub: %p, %u\n", Mutex, Level ); -} - - - /*********************************************************************** * KeWaitForMutexObject (NTOSKRNL.EXE.@) */ NTSTATUS WINAPI KeWaitForMutexObject(PRKMUTEX Mutex, KWAIT_REASON WaitReason, KPROCESSOR_MODE WaitMode, diff --git a/dlls/ntoskrnl.exe/sync.c b/dlls/ntoskrnl.exe/sync.c index 7717846..6f356f6 100644 --- a/dlls/ntoskrnl.exe/sync.c +++ b/dlls/ntoskrnl.exe/sync.c @@ -36,6 +36,7 @@ enum object_type { TYPE_MANUAL_EVENT = 0, TYPE_AUTO_EVENT = 1, + TYPE_MUTEX = 2, TYPE_SEMAPHORE = 5, };
@@ -218,3 +219,16 @@ LONG WINAPI KeReleaseSemaphore( PRKSEMAPHORE semaphore, KPRIORITY increment,
return ret; } + +/*********************************************************************** + * KeInitializeMutex (NTOSKRNL.EXE.@) + */ +void WINAPI KeInitializeMutex( PRKMUTEX mutex, ULONG level ) +{ + TRACE("mutex %p, level %u.\n", mutex, level); + + mutex->Header.Type = TYPE_MUTEX; + mutex->Header.SignalState = 1; + mutex->Header.WaitListHead.Blink = NULL; + mutex->Header.WaitListHead.Flink = NULL; +} diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h index 522bb3f..831304e 100644 --- a/include/ddk/wdm.h +++ b/include/ddk/wdm.h @@ -1421,6 +1421,7 @@ NTSTATUS WINAPI IoWMIRegistrationControl(PDEVICE_OBJECT,ULONG);
PKTHREAD WINAPI KeGetCurrentThread(void); void WINAPI KeInitializeEvent(PRKEVENT,EVENT_TYPE,BOOLEAN); +void WINAPI KeInitializeMutex(PRKMUTEX,ULONG); void WINAPI KeInitializeSemaphore(PRKSEMAPHORE,LONG,LONG); void WINAPI KeInitializeTimerEx(PKTIMER,TIMER_TYPE); void WINAPI KeQuerySystemTime(LARGE_INTEGER*);