]> git.lizzy.rs Git - plan9front.git/blob - sys/src/ape/lib/ap/posix/nanosleep.c
ape: fix lockinit() for mips
[plan9front.git] / sys / src / ape / lib / ap / posix / nanosleep.c
1 #define _PLAN9_SOURCE
2 #include "../plan9/lib.h"
3 #include <sys/types.h>
4 #include <time.h>
5 #include "../plan9/sys9.h"
6
7 int
8 nanosleep(struct timespec *req, struct timespec *rem)
9 {
10         int ms;
11
12         ms = req->tv_sec * 1000 + (req->tv_nsec + 999999) / 1000000;
13         if(_SLEEP(ms) < 0) {
14                 if(rem) {
15                         rem->tv_sec = rem->tv_nsec = 0; /* needs better handling */
16                 }
17                 return -1;
18         }
19         if(rem)
20                 rem->tv_sec = rem->tv_nsec = 0;
21         return 0;
22 }