Import Upstream version 20180207
[hcoop/debian/mlton.git] / runtime / basis / Posix / Process / nanosleep.c
CommitLineData
7f918cf1
CE
1#include "platform.h"
2
3C_Errno_t(C_Int_t) Posix_Process_nanosleep (Ref(C_Time_t) sec, Ref(C_Long_t) nsec) {
4 struct timespec rem;
5 struct timespec req;
6 int res;
7
8 req.tv_sec = *((time_t*)sec);
9 req.tv_nsec =*((long*)nsec);
10 rem.tv_sec = 0;
11 rem.tv_nsec = 0;
12 res = nanosleep (&req, &rem);
13 *((time_t*)sec) = rem.tv_sec;
14 *((long*)nsec) = rem.tv_nsec;
15 return res;
16}