aboutsummaryrefslogtreecommitdiff
path: root/src/slb.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/slb.c')
-rw-r--r--src/slb.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/src/slb.c b/src/slb.c
index b8acb5c..b456626 100644
--- a/src/slb.c
+++ b/src/slb.c
@@ -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);
}

Return to:

Send suggestions and report system problems to the System administrator.