MINOR: checks: add a new global max-spread-checks directive
This directive ensures that checks with a huge interval do not start
too far apart at the beginning.
diff --git a/src/checks.c b/src/checks.c
index 24b763d..fceb2c7 100644
--- a/src/checks.c
+++ b/src/checks.c
@@ -1744,11 +1744,14 @@
t->process = process_chk;
t->context = check;
+ if (mininter < srv_getinter(check))
+ mininter = srv_getinter(check);
+
+ if (global.max_spread_checks && mininter > global.max_spread_checks)
+ mininter = global.max_spread_checks;
+
/* check this every ms */
- t->expire = tick_add(now_ms,
- MS_TO_TICKS(((mininter &&
- mininter >= srv_getinter(check)) ?
- mininter : srv_getinter(check)) * srvpos / nbcheck));
+ t->expire = tick_add(now_ms, MS_TO_TICKS(mininter * srvpos / nbcheck));
check->start = now;
task_queue(t);