Sebastian Lackner : kernel32: Forward SleepConditionVariableSRW to ntdll.
Alexandre Julliard
julliard at winehq.org
Mon Jan 27 13:32:53 CST 2014
Module: wine
Branch: master
Commit: 72cf5d6f12daafc69c4b50f7803613d5fd6ba65d
URL: http://source.winehq.org/git/wine.git/?a=commit;h=72cf5d6f12daafc69c4b50f7803613d5fd6ba65d
Author: Sebastian Lackner <sebastian at fds-team.de>
Date: Wed Jan 22 01:09:49 2014 +0100
kernel32: Forward SleepConditionVariableSRW to ntdll.
---
dlls/kernel32/kernel32.spec | 1 +
dlls/kernel32/sync.c | 18 ++++++++++++++++++
include/winbase.h | 1 +
3 files changed, 20 insertions(+)
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
index 3bb4255..f7f3320 100644
--- a/dlls/kernel32/kernel32.spec
+++ b/dlls/kernel32/kernel32.spec
@@ -1196,6 +1196,7 @@
@ stdcall SizeofResource(long long)
@ stdcall Sleep(long)
@ stdcall SleepConditionVariableCS(ptr ptr long)
+@ stdcall SleepConditionVariableSRW(ptr ptr long long)
@ stdcall SleepEx(long long)
@ stdcall SuspendThread(long)
@ stdcall SwitchToFiber(ptr)
diff --git a/dlls/kernel32/sync.c b/dlls/kernel32/sync.c
index 2b7f4b0..f77637c 100644
--- a/dlls/kernel32/sync.c
+++ b/dlls/kernel32/sync.c
@@ -2339,3 +2339,21 @@ BOOL WINAPI SleepConditionVariableCS( CONDITION_VARIABLE *variable, CRITICAL_SEC
}
return TRUE;
}
+
+/***********************************************************************
+ * SleepConditionVariableSRW (KERNEL32.@)
+ */
+BOOL WINAPI SleepConditionVariableSRW( RTL_CONDITION_VARIABLE *variable, RTL_SRWLOCK *lock, DWORD timeout, ULONG flags )
+{
+ NTSTATUS status;
+ LARGE_INTEGER time;
+
+ status = RtlSleepConditionVariableSRW( variable, lock, get_nt_timeout( &time, timeout ), flags );
+
+ if (status != STATUS_SUCCESS)
+ {
+ SetLastError( RtlNtStatusToDosError(status) );
+ return FALSE;
+ }
+ return TRUE;
+}
diff --git a/include/winbase.h b/include/winbase.h
index 3c620e4..2d01c45 100644
--- a/include/winbase.h
+++ b/include/winbase.h
@@ -2363,6 +2363,7 @@ WINBASEAPI DWORD WINAPI SignalObjectAndWait(HANDLE,HANDLE,DWORD,BOOL);
WINBASEAPI DWORD WINAPI SizeofResource(HMODULE,HRSRC);
WINBASEAPI VOID WINAPI Sleep(DWORD);
WINBASEAPI BOOL WINAPI SleepConditionVariableCS(PCONDITION_VARIABLE,PCRITICAL_SECTION,DWORD);
+WINBASEAPI BOOL WINAPI SleepConditionVariableSRW(PCONDITION_VARIABLE,PSRWLOCK,DWORD,ULONG);
WINBASEAPI DWORD WINAPI SleepEx(DWORD,BOOL);
WINBASEAPI DWORD WINAPI SuspendThread(HANDLE);
WINBASEAPI void WINAPI SwitchToFiber(LPVOID);
More information about the wine-cvs
mailing list