Move the starting of the job scheduler to a later stage
in the startup. In particular, only start it after the
job-queue lock file is obtained.

Signed-off-by: Klaus Aehlig <[email protected]>
---
 src/Ganeti/Query/Server.hs | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/Ganeti/Query/Server.hs b/src/Ganeti/Query/Server.hs
index f95b9ce..f9dc213 100644
--- a/src/Ganeti/Query/Server.hs
+++ b/src/Ganeti/Query/Server.hs
@@ -468,7 +468,6 @@ main :: MainFn () PrepResult
 main _ _ (server, cref, jq) = do
   initConfigReader id cref
   let creader = readIORef cref
-  initJQScheduler jq
 
   qlockFile <- jobQueueLockFile
   _ <- lockFile qlockFile >>= exitIfBad "Failed to obtain the job-queue lock"
@@ -478,6 +477,8 @@ main _ _ (server, cref, jq) = do
 
   _ <- forkIO . void $ activateMasterIP
 
+  initJQScheduler jq
+
   finally
     (forever $ U.listener (luxiHandler (qlock, jq, creader)) server)
     (closeServer server)
-- 
1.9.1.423.g4596e3a

Reply via email to