fix wrong sigaction syscall ABI on mips*, or1k, microblaze, riscv64
[musl] / src / thread / thrd_sleep.c
index e8dfe40..97de534 100644 (file)
@@ -1,10 +1,11 @@
 #include <threads.h>
+#include <time.h>
 #include <errno.h>
 #include "syscall.h"
 
 int thrd_sleep(const struct timespec *req, struct timespec *rem)
 {
-       int ret = __syscall(SYS_nanosleep, req, rem);
+       int ret = -__clock_nanosleep(CLOCK_REALTIME, 0, req, rem);
        switch (ret) {
        case 0:      return 0;
        case -EINTR: return -1; /* value specified by C11 */