refactor thrd_sleep and nanosleep in terms of clock_nanosleep
[musl] / src / time / clock_nanosleep.c
1 #include <time.h>
2 #include <errno.h>
3 #include "syscall.h"
4
5 int __clock_nanosleep(clockid_t clk, int flags, const struct timespec *req, struct timespec *rem)
6 {
7         if (clk == CLOCK_THREAD_CPUTIME_ID) return EINVAL;
8         if (clk == CLOCK_REALTIME && !flags)
9                 return -__syscall_cp(SYS_nanosleep, req, rem);
10         return -__syscall_cp(SYS_clock_nanosleep, clk, flags, req, rem);
11 }
12
13 weak_alias(__clock_nanosleep, clock_nanosleep);