diff options
Diffstat (limited to 'src/slb.c')
-rw-r--r-- | src/slb.c | 15 |
1 files changed, 3 insertions, 12 deletions
@@ -277,21 +277,12 @@ slb_daemon() action = ACT_WAKEUP; while (action == ACT_NONE || action == ACT_WAKEUP) { if (action == ACT_WAKEUP) { - time_t delta, start = time(NULL); - + time_t delta; snmploop(); slb_fmtout(); - - delta = time(NULL) - start; - if (delta < wakeup_interval) - delta = wakeup_interval - delta; - else { - delta = wakeup_interval * - ((delta + wakeup_interval - 1) / - wakeup_interval); - } + delta = wakeup_interval - time(NULL) % wakeup_interval; debug(SLB_DEBCAT_MAIN, 2, - ("scheduled wake up after %lu seconds", + ("scheduled wake-up after %lu seconds", (unsigned long) delta)); alarm(delta); } |