Zebediah Figura : ntoskrnl.exe: Implement KeInitializeMutex().
Module: wine Branch: master Commit: e3223f30aa298044dcf5c72e0ae64352d953f690 URL: https://source.winehq.org/git/wine.git/?a=commit;h=e3223f30aa298044dcf5c72e0... Author: Zebediah Figura <z.figura12(a)gmail.com> Date: Mon Nov 26 19:39:18 2018 -0600 ntoskrnl.exe: Implement KeInitializeMutex(). Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com> Signed-off-by: Alexandre Julliard <julliard(a)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*);
participants (1)
-
Alexandre Julliard