diff -up bind-9.5.0a5/lib/isc/pthreads/condition.c.overflow bind-9.5.0a5/lib/isc/pthreads/condition.c --- bind-9.5.0a5/lib/isc/pthreads/condition.c.overflow 2007-07-17 07:53:59.000000000 +0200 +++ bind-9.5.0a5/lib/isc/pthreads/condition.c 2007-07-17 07:55:08.000000000 +0200 @@ -43,7 +43,7 @@ isc_condition_waituntil(isc_condition_t * POSIX defines a timespec's tv_sec as time_t. */ result = isc_time_secondsastimet(t, &ts.tv_sec); - if (result != ISC_R_SUCCESS) + if (result != ISC_R_RANGE && result != ISC_R_SUCCESS) return (result); /*! diff -up bind-9.5.0a5/lib/isc/unix/time.c.overflow bind-9.5.0a5/lib/isc/unix/time.c --- bind-9.5.0a5/lib/isc/unix/time.c.overflow 2007-02-14 01:27:27.000000000 +0100 +++ bind-9.5.0a5/lib/isc/unix/time.c 2007-07-17 07:53:08.000000000 +0200 @@ -379,6 +379,9 @@ isc_time_secondsastimet(const isc_time_t * (Let's hope the compiler got the actual test right.) */ UNUSED(i); + + /* Means that t->seconds > maximum value in time_t and we have int time_t */ + seconds = INT_MAX; return (ISC_R_RANGE); }