[PATCH 1/6] ntoskrnl.exe: Implement KeInitializeSemaphore().
Zebediah Figura
z.figura12 at gmail.com
Mon Nov 26 19:39:16 CST 2018
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
dlls/ntoskrnl.exe/ntoskrnl.c | 9 ---------
dlls/ntoskrnl.exe/sync.c | 15 +++++++++++++++
2 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index c1cfb032dd..07e9104498 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -2307,15 +2307,6 @@ LONG WINAPI KeReleaseMutex(PRKMUTEX Mutex, BOOLEAN Wait)
}
-/***********************************************************************
- * KeInitializeSemaphore (NTOSKRNL.EXE.@)
- */
-void WINAPI KeInitializeSemaphore( PRKSEMAPHORE Semaphore, LONG Count, LONG Limit )
-{
- FIXME( "(%p %d %d) stub\n", Semaphore , Count, Limit );
-}
-
-
/***********************************************************************
* KeInitializeSpinLock (NTOSKRNL.EXE.@)
*/
diff --git a/dlls/ntoskrnl.exe/sync.c b/dlls/ntoskrnl.exe/sync.c
index 8011b56754..2190faa81f 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_SEMAPHORE = 5,
};
static CRITICAL_SECTION sync_cs;
@@ -172,3 +173,17 @@ LONG WINAPI KeResetEvent( PRKEVENT event )
return ret;
}
+
+/***********************************************************************
+ * KeInitializeSemaphore (NTOSKRNL.EXE.@)
+ */
+void WINAPI KeInitializeSemaphore( PRKSEMAPHORE semaphore, LONG count, LONG limit )
+{
+ TRACE("semaphore %p, count %d, limit %d.\n", semaphore, count, limit);
+
+ semaphore->Header.Type = TYPE_SEMAPHORE;
+ semaphore->Header.SignalState = count;
+ semaphore->Header.WaitListHead.Blink = NULL;
+ semaphore->Header.WaitListHead.Flink = NULL;
+ semaphore->Limit = limit;
+}
--
2.14.1
More information about the wine-devel
mailing list