diff options
Diffstat (limited to 'src/Platform/Win32/Condition.c')
| -rw-r--r-- | src/Platform/Win32/Condition.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/Platform/Win32/Condition.c b/src/Platform/Win32/Condition.c index d4f9d99..c87c793 100644 --- a/src/Platform/Win32/Condition.c +++ b/src/Platform/Win32/Condition.c @@ -33,11 +33,13 @@ int BH_ConditionWaitFor(BH_Condition *condition, BH_Mutex *mutex, uint32_t timeout) { - switch (SleepConditionVariableCS(&condition->handle, &mutex->handle, timeout)) + if (SleepConditionVariableCS(&condition->handle, &mutex->handle, timeout)) + return BH_OK; + + switch (GetLastError()) { - case 0: return BH_ERROR; case ERROR_TIMEOUT: return BH_TIMEOUT; - default: return BH_OK; + default: return BH_ERROR; } } |
