aboutsummaryrefslogtreecommitdiff
path: root/src/Platform/Win32/Condition.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/Platform/Win32/Condition.c')
-rw-r--r--src/Platform/Win32/Condition.c8
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;
}
}