diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1996-05-30 20:48:10 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1996-05-30 20:48:10 +0000 |
commit | 5600661d6ab0aee73bb6d1c89585ab147c91cdc0 (patch) | |
tree | 5847f8a5067476393317243afefd79610a429635 /cpukit/posix/src/psignal.c | |
parent | added dummy versions of __kill and __getpid which assert(0) so that (diff) | |
download | rtems-5600661d6ab0aee73bb6d1c89585ab147c91cdc0.tar.bz2 |
First cut at implementing time, clock_gettime, clock_settime, clock_getres,
sleep, and nanosleep. Does not yet support per process clock, per thread
clock, interruptible sleep (sleep/nanosleep), or time remaining on nanosleep.
Diffstat (limited to 'cpukit/posix/src/psignal.c')
-rw-r--r-- | cpukit/posix/src/psignal.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/cpukit/posix/src/psignal.c b/cpukit/posix/src/psignal.c index 32f6975c84..5224601e32 100644 --- a/cpukit/posix/src/psignal.c +++ b/cpukit/posix/src/psignal.c @@ -244,15 +244,11 @@ unsigned int sleep( unsigned int seconds ) { - _Thread_Disable_dispatch(); - _Thread_Set_state( _Thread_Executing, STATES_WAITING_FOR_TIME ); - _Watchdog_Initialize( - &_Thread_Executing->Timer, - _Thread_Delay_ended, /* XXX may need to be POSIX specific */ - _Thread_Executing->Object.id, - NULL - ); - _Watchdog_Insert_seconds( &_Thread_Executing->Timer, seconds ); - _Thread_Enable_dispatch(); - return 0; /* XXX should account for signal */ + /* XXX can we get away with this implementation? */ + struct timespec tp; + + tp.tv_sec = seconds; + tp.tv_nsec = 0; + + return nanosleep( &tp, NULL ); } |