]> xenbits.xensource.com Git - people/iwj/osstest.git/commitdiff
Planner: Fix indefinite holdoff
authorIan Jackson <ian.jackson@eu.citrix.com>
Tue, 1 Sep 2015 18:15:32 +0000 (19:15 +0100)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Mon, 7 Sep 2015 16:44:21 +0000 (17:44 +0100)
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>
ms-queuedaemon

index d6d59eeb71860f584fe8a6965661a3929a430656..1aa526c0df5f452cd316a8241d10bddf5bcafee2 100755 (executable)
@@ -86,10 +86,12 @@ proc runneeded-ensure-will {need} {
     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 {} {