blob: 599767937d0526d23c8bc899ae895fd1eb2703e0 [file] [log] [blame]
Jens Gustedt14397ce2014-09-06 22:27:45 -04001#include <threads.h>
2#include <errno.h>
3
4int __pthread_cond_timedwait(cnd_t *restrict, mtx_t *restrict, const struct timespec *restrict);
5
6int cnd_timedwait(cnd_t *restrict c, mtx_t *restrict m, const struct timespec *restrict ts)
7{
8 int ret = __pthread_cond_timedwait(c, m, ts);
9 switch (ret) {
10 /* May also return EINVAL or EPERM. */
11 default: return thrd_error;
12 case 0: return thrd_success;
13 case ETIMEDOUT: return thrd_timedout;
14 }
15}