Author: Description: timeout ignores fractional part of sleep times when timeout is more than 100000s (approximately 1 day) on kfbsd. prevents failure modes in libc implementation when timeout approaches max(time_t) Index: coreutils-8.24/src/timeout.c =================================================================== --- coreutils-8.24.orig/src/timeout.c +++ coreutils-8.24/src/timeout.c @@ -133,6 +133,11 @@ settimeout (double duration, bool warn) resolution provided by alarm(). */ #if HAVE_TIMER_SETTIME +#ifdef __FreeBSD_kernel__ +if (duration < 100000) { +#else +if (true) { +#endif struct timespec ts = dtotimespec (duration); struct itimerspec its = { {0, 0}, ts }; timer_t timerid; @@ -149,6 +154,7 @@ settimeout (double duration, bool warn) } else if (warn && errno != ENOSYS) error (0, errno, _("warning: timer_create")); +} #endif unsigned int timeint;