diff options
Diffstat (limited to '')
-rw-r--r-- | c/src/exec/posix/src/unistd.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/c/src/exec/posix/src/unistd.c b/c/src/exec/posix/src/unistd.c index f5d13b3adf..44d08e592b 100644 --- a/c/src/exec/posix/src/unistd.c +++ b/c/src/exec/posix/src/unistd.c @@ -2,10 +2,31 @@ * $Id$ */ +#include <time.h> #include <unistd.h> #include <rtems/system.h> + +/* + * 3.4.3 Delay Process Execution, P1003.1b-1993, p. 73 + */ + +unsigned int sleep( + unsigned int seconds +) +{ + /* XXX can we get away with this implementation? */ + struct timespec tp; + struct timespec tm; + + tp.tv_sec = seconds; + tp.tv_nsec = 0; + + nanosleep( &tp, &tm ); + + return tm->tv_sec; /* seconds remaining */ +} /* * 4.8.1 Get Configurable System Variables, P1003.1b-1993, p. 95 */ |