Alexandre Julliard : kernel32: Move critical section functions to kernelbase.

Alexandre Julliard julliard at winehq.org
Mon Jul 1 15:15:15 CDT 2019


Module: wine
Branch: master
Commit: aa7f8e930d730876fd560fe1aef94f392b210eaf
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=aa7f8e930d730876fd560fe1aef94f392b210eaf

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Thu Jun 27 16:59:39 2019 +0200

kernel32: Move critical section functions to kernelbase.

Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/kernel32/kernel32.spec     |  6 ++--
 dlls/kernel32/sync.c            | 61 -----------------------------------------
 dlls/kernelbase/kernelbase.spec |  4 +--
 dlls/kernelbase/sync.c          | 25 +++++++++++++++++
 4 files changed, 30 insertions(+), 66 deletions(-)

diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
index be9ed3f..3f3f903 100644
--- a/dlls/kernel32/kernel32.spec
+++ b/dlls/kernel32/kernel32.spec
@@ -946,9 +946,9 @@
 @ stdcall InitOnceInitialize(ptr) ntdll.RtlRunOnceInitialize
 @ stdcall InitializeConditionVariable(ptr) ntdll.RtlInitializeConditionVariable
 # @ stub InitializeContext
-@ stdcall InitializeCriticalSection(ptr)
-@ stdcall InitializeCriticalSectionAndSpinCount(ptr long)
-@ stdcall InitializeCriticalSectionEx(ptr long long)
+@ stdcall InitializeCriticalSection(ptr) ntdll.RtlInitializeCriticalSection
+@ stdcall -import InitializeCriticalSectionAndSpinCount(ptr long)
+@ stdcall -import InitializeCriticalSectionEx(ptr long long)
 @ stdcall InitializeProcThreadAttributeList(ptr long long ptr)
 @ stdcall InitializeSListHead(ptr) ntdll.RtlInitializeSListHead
 @ stdcall InitializeSRWLock(ptr) ntdll.RtlInitializeSRWLock
diff --git a/dlls/kernel32/sync.c b/dlls/kernel32/sync.c
index 5b8eef6..7667af9 100644
--- a/dlls/kernel32/sync.c
+++ b/dlls/kernel32/sync.c
@@ -308,67 +308,6 @@ DWORD WINAPI SignalObjectAndWait( HANDLE hObjectToSignal, HANDLE hObjectToWaitOn
 }
 
 /***********************************************************************
- *           InitializeCriticalSection   (KERNEL32.@)
- *
- * Initialise a critical section before use.
- *
- * PARAMS
- *  crit [O] Critical section to initialise.
- *
- * RETURNS
- *  Nothing. If the function fails an exception is raised.
- */
-void WINAPI InitializeCriticalSection( CRITICAL_SECTION *crit )
-{
-    InitializeCriticalSectionEx( crit, 0, 0 );
-}
-
-/***********************************************************************
- *           InitializeCriticalSectionAndSpinCount   (KERNEL32.@)
- *
- * Initialise a critical section with a spin count.
- *
- * PARAMS
- *  crit      [O] Critical section to initialise.
- *  spincount [I] Number of times to spin upon contention.
- *
- * RETURNS
- *  Success: TRUE.
- *  Failure: Nothing. If the function fails an exception is raised.
- *
- * NOTES
- *  spincount is ignored on uni-processor systems.
- */
-BOOL WINAPI InitializeCriticalSectionAndSpinCount( CRITICAL_SECTION *crit, DWORD spincount )
-{
-    return InitializeCriticalSectionEx( crit, spincount, 0 );
-}
-
-/***********************************************************************
- *           InitializeCriticalSectionEx   (KERNEL32.@)
- *
- * Initialise a critical section with a spin count and flags.
- *
- * PARAMS
- *  crit      [O] Critical section to initialise.
- *  spincount [I] Number of times to spin upon contention.
- *  flags     [I] CRITICAL_SECTION_ flags from winbase.h.
- *
- * RETURNS
- *  Success: TRUE.
- *  Failure: Nothing. If the function fails an exception is raised.
- *
- * NOTES
- *  spincount is ignored on uni-processor systems.
- */
-BOOL WINAPI InitializeCriticalSectionEx( CRITICAL_SECTION *crit, DWORD spincount, DWORD flags )
-{
-    NTSTATUS ret = RtlInitializeCriticalSectionEx( crit, spincount, flags );
-    if (ret) RtlRaiseStatus( ret );
-    return !ret;
-}
-
-/***********************************************************************
  *           MakeCriticalSectionGlobal   (KERNEL32.@)
  */
 void WINAPI MakeCriticalSectionGlobal( CRITICAL_SECTION *crit )
diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec
index c81fd0e..e9fa0d2 100644
--- a/dlls/kernelbase/kernelbase.spec
+++ b/dlls/kernelbase/kernelbase.spec
@@ -802,8 +802,8 @@
 @ stdcall InitializeConditionVariable(ptr) kernel32.InitializeConditionVariable
 # @ stub InitializeContext
 @ stdcall InitializeCriticalSection(ptr) kernel32.InitializeCriticalSection
-@ stdcall InitializeCriticalSectionAndSpinCount(ptr long) kernel32.InitializeCriticalSectionAndSpinCount
-@ stdcall InitializeCriticalSectionEx(ptr long long) kernel32.InitializeCriticalSectionEx
+@ stdcall InitializeCriticalSectionAndSpinCount(ptr long)
+@ stdcall InitializeCriticalSectionEx(ptr long long)
 # @ stub InitializeEnclave
 @ stdcall InitializeProcThreadAttributeList(ptr long long ptr) kernel32.InitializeProcThreadAttributeList
 # @ stub InitializeProcessForWsWatch
diff --git a/dlls/kernelbase/sync.c b/dlls/kernelbase/sync.c
index cd0348d..21ba6d2 100644
--- a/dlls/kernelbase/sync.c
+++ b/dlls/kernelbase/sync.c
@@ -592,3 +592,28 @@ BOOL WINAPI DECLSPEC_HOTPATCH DeleteTimerQueueTimer( HANDLE queue, HANDLE timer,
 {
     return set_ntstatus( RtlDeleteTimer( queue, timer, event ));
 }
+
+
+/***********************************************************************
+ * Critical sections
+ ***********************************************************************/
+
+
+/***********************************************************************
+ *           InitializeCriticalSectionAndSpinCount   (kernelbase.@)
+ */
+BOOL WINAPI DECLSPEC_HOTPATCH InitializeCriticalSectionAndSpinCount( CRITICAL_SECTION *crit, DWORD count )
+{
+    return !RtlInitializeCriticalSectionAndSpinCount( crit, count );
+}
+
+/***********************************************************************
+ *           InitializeCriticalSectionEx   (kernelbase.@)
+ */
+BOOL WINAPI DECLSPEC_HOTPATCH InitializeCriticalSectionEx( CRITICAL_SECTION *crit, DWORD spincount,
+                                                           DWORD flags )
+{
+    NTSTATUS ret = RtlInitializeCriticalSectionEx( crit, spincount, flags );
+    if (ret) RtlRaiseStatus( ret );
+    return !ret;
+}




More information about the wine-cvs mailing list