thrd_sleep_time32.c raw
1 #include "time32.h"
2 #include <time.h>
3 #include <threads.h>
4 #include <errno.h>
5
6 int __thrd_sleep_time32(const struct timespec32 *req32, struct timespec32 *rem32)
7 {
8 struct timespec rem;
9 int ret = thrd_sleep((&(struct timespec){
10 .tv_sec = req32->tv_sec, .tv_nsec = req32->tv_nsec}), &rem);
11 if (ret<0 && errno==EINTR && rem32) {
12 rem32->tv_sec = rem.tv_sec;
13 rem32->tv_nsec = rem.tv_nsec;
14 }
15 return ret;
16 }
17