summaryrefslogtreecommitdiffstats
path: root/src/sem.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sem.c')
-rw-r--r--src/sem.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/sem.c b/src/sem.c
index a577b08..325eaa4 100644
--- a/src/sem.c
+++ b/src/sem.c
@@ -61,7 +61,7 @@ zix_sem_try_wait(ZixSem* sem)
const kern_return_t r = semaphore_timedwait(sem->sem, zero);
return (r == KERN_SUCCESS) ? ZIX_STATUS_SUCCESS
- : (r == KERN_OPERATION_TIMED_OUT) ? ZIX_STATUS_TIMEOUT
+ : (r == KERN_OPERATION_TIMED_OUT) ? ZIX_STATUS_UNAVAILABLE
: ZIX_STATUS_ERROR;
}
@@ -114,7 +114,7 @@ zix_sem_try_wait(ZixSem* sem)
const DWORD r = WaitForSingleObject(sem->sem, 0);
return (r == WAIT_OBJECT_0) ? ZIX_STATUS_SUCCESS
- : (r == WAIT_TIMEOUT) ? ZIX_STATUS_TIMEOUT
+ : (r == WAIT_TIMEOUT) ? ZIX_STATUS_UNAVAILABLE
: ZIX_STATUS_ERROR;
}
@@ -171,8 +171,7 @@ zix_sem_try_wait(ZixSem* sem)
// Interrupted, try again
}
- return r ? (errno == EAGAIN ? ZIX_STATUS_TIMEOUT : zix_errno_status(errno))
- : ZIX_STATUS_SUCCESS;
+ return r ? zix_errno_status(errno) : ZIX_STATUS_SUCCESS;
}
ZixStatus