diff options
Diffstat (limited to 'lib/libkse/thread/thr_nanosleep.c')
-rw-r--r-- | lib/libkse/thread/thr_nanosleep.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/lib/libkse/thread/thr_nanosleep.c b/lib/libkse/thread/thr_nanosleep.c index e9052f9..3bbc9a6 100644 --- a/lib/libkse/thread/thr_nanosleep.c +++ b/lib/libkse/thread/thr_nanosleep.c @@ -38,7 +38,7 @@ #include "pthread_private.h" int -_libc_nanosleep(const struct timespec * time_to_sleep, +_nanosleep(const struct timespec * time_to_sleep, struct timespec * time_remaining) { int ret = 0; @@ -47,7 +47,6 @@ _libc_nanosleep(const struct timespec * time_to_sleep, struct timespec remaining_time; struct timeval tv; - _thread_enter_cancellation_point(); /* Check if the time to sleep is legal: */ if (time_to_sleep == NULL || time_to_sleep->tv_sec < 0 || time_to_sleep->tv_nsec < 0 || time_to_sleep->tv_nsec >= 1000000000) { @@ -117,9 +116,19 @@ _libc_nanosleep(const struct timespec * time_to_sleep, ret = -1; } } - _thread_leave_cancellation_point(); return (ret); } -__weak_reference(_libc_nanosleep, nanosleep); +int +nanosleep(const struct timespec * time_to_sleep, struct timespec * + time_remaining) +{ + int ret; + + _thread_enter_cancellation_point(); + ret = _nanosleep(time_to_sleep, time_remaining); + _thread_leave_cancellation_point(); + + return ret; +} #endif |