summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/libc/gen/sleep.c16
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;
OpenPOWER on IntegriCloud