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

(cherry picked from commit 1727a59522)

Conflicts:
	src/core/job.c
This commit is contained in:
Michael Marineau
2014-06-07 18:27:53 -04:00
committed by Zbigniew Jędrzejewski-Szmek
parent 39cdf9313c
commit ae6feb2a01
+3 -3
View File
@@ -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));