/trunk/uspace/lib/libc/include/unistd.h |
---|
45,7 → 45,7 |
extern ssize_t read(int fd, void * buf, size_t count); |
extern void _exit(int status); |
extern void *sbrk(ssize_t incr); |
extern void usleep(unsigned long usec); |
extern int usleep(unsigned long usec); |
extern unsigned int sleep(unsigned int seconds); |
#endif |
/trunk/uspace/lib/libc/generic/time.c |
---|
187,12 → 187,13 |
} |
/** Wait unconditionally for specified number of microseconds */ |
void usleep(unsigned long usec) |
int usleep(unsigned long usec) |
{ |
atomic_t futex = FUTEX_INITIALIZER; |
futex_initialize(&futex, 0); |
futex_down_timeout(&futex, usec, 0); |
return 0; |
} |
/** Wait unconditionally for specified number of seconds */ |
210,6 → 211,7 |
futex_down_timeout(&futex, period * 1000000, 0); |
seconds -= period; |
} |
return 0; |
} |
/** @} |