diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libc/gen/sleep.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/libc/gen/sleep.c b/lib/libc/gen/sleep.c index 36348bc..6a40d93 100644 --- a/lib/libc/gen/sleep.c +++ b/lib/libc/gen/sleep.c @@ -60,6 +60,14 @@ sleep(seconds) struct timespec time_remaining; if (seconds != 0) { + /* + * XXX + * Hack to work around itimerfix(9) gratuitously limiting + * the acceptable range for a struct timeval.tv_sec to + * <= 100000000. + */ + if (seconds > 100000000) + seconds = 100000000; time_to_sleep.tv_sec = seconds; time_to_sleep.tv_nsec = 0; nanosleep(&time_to_sleep, &time_remaining); @@ -75,6 +83,14 @@ sleep(seconds) sigset_t mask, omask; if (seconds != 0) { + /* + * XXX + * Hack to work around itimerfix(9) gratuitously limiting + * the acceptable range for a struct timeval.tv_sec to + * <= 100000000. + */ + if (seconds > 100000000) + seconds = 100000000; time_to_sleep.tv_sec = seconds; time_to_sleep.tv_nsec = 0; |