diff --git a/dll/win32/kernel32_vista/sync.c b/dll/win32/kernel32_vista/sync.c index 1f13206445e..57fc81a3331 100644 --- a/dll/win32/kernel32_vista/sync.c +++ b/dll/win32/kernel32_vista/sync.c @@ -108,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;