1#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} 16