File 0005-job-always-add-waiting-jobs-to-run-queue-during-cold.patch of Package systemd.1059

Based on 1727a595225132eb73ec134b6979d9c713b42e8c Mon Sep 17 00:00:00 2001
From: Michael Marineau <michael.marineau@coreos.com>
Date: Mon, 12 May 2014 09:26:16 +0200
Subject: [PATCH] job: always add waiting jobs to run queue during coldplug

commit 20a83d7bf was not equivalent to the original bug fix proposed by
Michal Sekletar <msekleta@redhat.com>. The committed version only added
the job to the run queue if the job had a timeout, which most jobs do
not have. Just re-ordering the code gets us the intended functionality
---
 src/core/job.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

--- src/core/job.c
+++ src/core/job.c	2014-05-12 13:11:24.918735646 +0000
@@ -1051,15 +1051,15 @@ int job_coldplug(Job *j) {
 
         assert(j);
 
+        if (j->state == JOB_WAITING)
+                job_add_to_run_queue(j);
+
         if (j->begin_usec == 0 || j->unit->job_timeout == 0)
                 return 0;
 
         if (j->timer_event_source)
                 j->timer_event_source = sd_event_source_unref(j->timer_event_source);
 
-        if (j->state == JOB_WAITING)
-                job_add_to_run_queue(j);
-
         r = sd_event_add_monotonic(j->manager->event, &j->timer_event_source, j->begin_usec + j->unit->job_timeout, 0, job_dispatch_timer, j);
         if (r < 0)
                 log_debug("Failed to restart timeout for job: %s", strerror(-r));
openSUSE Build Service is sponsored by