xref: /aosp_15_r20/external/musl/src/thread/thrd_sleep.c (revision c9945492fdd68bbe62686c5b452b4dc1be3f8453)
1 #include <threads.h>
2 #include <time.h>
3 #include <errno.h>
4 #include "syscall.h"
5 
thrd_sleep(const struct timespec * req,struct timespec * rem)6 int thrd_sleep(const struct timespec *req, struct timespec *rem)
7 {
8 	int ret = -__clock_nanosleep(CLOCK_REALTIME, 0, req, rem);
9 	switch (ret) {
10 	case 0:      return 0;
11 	case -EINTR: return -1; /* value specified by C11 */
12 	default:     return -2;
13 	}
14 }
15