diff options
Diffstat (limited to 'compat/time32/nanosleep_time32.c')
-rw-r--r-- | compat/time32/nanosleep_time32.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/compat/time32/nanosleep_time32.c b/compat/time32/nanosleep_time32.c new file mode 100644 index 00000000..ea6bdd81 --- /dev/null +++ b/compat/time32/nanosleep_time32.c @@ -0,0 +1,15 @@ +#include "time32.h" +#include <time.h> +#include <errno.h> + +int __nanosleep_time32(const struct timespec32 *req32, struct timespec32 *rem32) +{ + struct timespec rem; + int ret = nanosleep((&(struct timespec){ + .tv_sec = req32->tv_sec, .tv_nsec = req32->tv_nsec}), &rem); + if (ret<0 && errno==EINTR && rem32) { + rem32->tv_sec = rem.tv_sec; + rem32->tv_nsec = rem.tv_nsec; + } + return ret; +} |