diff options
Diffstat (limited to 'c/src/exec/posix/src/sleep.c')
-rw-r--r-- | c/src/exec/posix/src/sleep.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/c/src/exec/posix/src/sleep.c b/c/src/exec/posix/src/sleep.c new file mode 100644 index 0000000000..dec0ed0a54 --- /dev/null +++ b/c/src/exec/posix/src/sleep.c @@ -0,0 +1,27 @@ +/* + * 3.4.3 Delay Process Execution, P1003.1b-1993, p. 81 + * + * $Id$ + */ + +#include <time.h> +#include <unistd.h> + +#include <rtems/system.h> + + +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 */ +} |