runneeded-ensure-will would always reset the runneeded_holdoff_after
timer. So no new queue run would start until no runneeded-ensure-will
has occurred for (currently) 30s.
Instead, only start the timer if it's not already running.
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
log-event "runneeded-ensure-will $need (was $need_queue_run)"
if {$need > $need_queue_run} { set need_queue_run $need }
- catch { after cancel $runneeded_holdoff_after }
- set runneeded_holdoff_after \
- [after [expr {$c(QueueDaemonHoldoff) * 1000}] \
- runneeded-perhaps-start]
+
+ if {![info exists runneeded_holdoff_after]} {
+ set runneeded_holdoff_after \
+ [after [expr {$c(QueueDaemonHoldoff) * 1000}] \
+ runneeded-perhaps-start]
+ }
}
proc runneeded-perhaps-start {} {