1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
/* * sleep.c */ #include <errno.h> #include <time.h> unsigned int sleep(unsigned int seconds) { struct timespec ts; ts.tv_sec = seconds; ts.tv_nsec = 0; if ( !nanosleep(&ts,&ts) ) return 0; else if ( errno == EINTR ) return ts.tv_sec; else return -1; }