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