[KERNEL32_VISTA] Make SleepConditionVariableCS fail when it times out
[reactos.git] / dll / win32 / kernel32_vista / sync.c
index 17d3949..57fc81a 100644 (file)
@@ -48,9 +48,6 @@ VOID
 NTAPI
 RtlReleaseSRWLockExclusive(IN OUT PRTL_SRWLOCK SRWLock);
 
-ULONG
-NTAPI
-RtlNtStatusToDosError(IN NTSTATUS Status);
 
 VOID
 WINAPI
@@ -111,7 +108,7 @@ SleepConditionVariableCS(PCONDITION_VARIABLE ConditionVariable, PCRITICAL_SECTIO
     LARGE_INTEGER Time;
 
     Status = RtlSleepConditionVariableCS(ConditionVariable, (PRTL_CRITICAL_SECTION)CriticalSection, GetNtTimeout(&Time, Timeout));
-    if (!NT_SUCCESS(Status))
+    if (!NT_SUCCESS(Status) || Status == STATUS_TIMEOUT)
     {
         SetLastError(RtlNtStatusToDosError(Status));
         return FALSE;