diff options
Diffstat (limited to 'lib/libpthread/thread/thr_nanosleep.c')
-rw-r--r-- | lib/libpthread/thread/thr_nanosleep.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/libpthread/thread/thr_nanosleep.c b/lib/libpthread/thread/thr_nanosleep.c index bce3541..8e709ff 100644 --- a/lib/libpthread/thread/thr_nanosleep.c +++ b/lib/libpthread/thread/thr_nanosleep.c @@ -55,8 +55,9 @@ _nanosleep(const struct timespec *time_to_sleep, errno = EINVAL; ret = -1; } else { - if (!_kse_isthreaded()) - return __sys_nanosleep(time_to_sleep, time_remaining); + if (!_kse_isthreaded() || + (curthread->attr.flags & PTHREAD_SCOPE_SYSTEM)) + return (__sys_nanosleep(time_to_sleep, time_remaining)); KSE_GET_TOD(curthread->kse, &ts); |