=== modified file 'src/atimer.c' --- src/atimer.c 2014-01-01 07:43:34 +0000 +++ src/atimer.c 2014-02-03 19:16:53 +0000 @@ -340,9 +340,12 @@ static void run_timers (void) { - struct timespec now = current_timespec (); + struct timespec now = make_timespec (TYPE_MINIMUM (time_t), -1); - while (atimers && timespec_cmp (atimers->expiration, now) <= 0) + while (atimers + && (timespec_cmp (atimers->expiration, now) <= 0 + || (now = current_timespec (), + timespec_cmp (atimers->expiration, now) <= 0))) { struct atimer *t = atimers; atimers = atimers->next;