]> err.no Git - systemd/commitdiff
job: after converting a job from restart to start readd it to run queue
authorLennart Poettering <lennart@poettering.net>
Wed, 21 Sep 2011 17:56:15 +0000 (19:56 +0200)
committerLennart Poettering <lennart@poettering.net>
Wed, 21 Sep 2011 17:57:27 +0000 (19:57 +0200)
When we converted a restart job it's time to look again whether any of
its dependencies are now runnable.

https://bugzilla.redhat.com/show_bug.cgi?id=735013

src/job.c

index 26e1a7ce99aa2da2daf9ef5bd49a6cb33ef01851..5c0913b7d8bbf68e4447002843e15ce2950130e2 100644 (file)
--- a/src/job.c
+++ b/src/job.c
@@ -544,7 +544,9 @@ int job_finish_and_invalidate(Job *j, JobResult result) {
                 j->type = JOB_START;
 
                 job_add_to_run_queue(j);
-                return 0;
+
+                u = j->unit;
+                goto finish;
         }
 
         j->result = result;
@@ -613,6 +615,7 @@ int job_finish_and_invalidate(Job *j, JobResult result) {
                 unit_trigger_on_failure(u);
         }
 
+finish:
         /* Try to start the next jobs that can be started */
         SET_FOREACH(other, u->meta.dependencies[UNIT_AFTER], i)
                 if (other->meta.job)