]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core: properly handle jobs that are suppressed to JOB_NOPs when propagating restarts
authorLennart Poettering <lennart@poettering.net>
Thu, 21 May 2015 18:39:23 +0000 (20:39 +0200)
committerLennart Poettering <lennart@poettering.net>
Thu, 21 May 2015 18:49:24 +0000 (20:49 +0200)
src/core/transaction.c

index 33fa675e53eab5009731ce5e2f01c7b78eae7285..090103fbdad76a2c6c0632e311cdd910afda33e6 100644 (file)
@@ -1032,8 +1032,13 @@ int transaction_add_job_and_dependencies(
 
                         for (j = 0; j < ELEMENTSOF(propagate_deps); j++)
                                 SET_FOREACH(dep, ret->unit->dependencies[propagate_deps[j]], i) {
+                                        JobType nt;
 
-                                        r = transaction_add_job_and_dependencies(tr, job_type_collapse(ptype, dep), dep, ret, true, override, false, false, ignore_order, e);
+                                        nt = job_type_collapse(ptype, dep);
+                                        if (nt == JOB_NOP)
+                                                continue;
+
+                                        r = transaction_add_job_and_dependencies(tr, nt, dep, ret, true, override, false, false, ignore_order, e);
                                         if (r < 0) {
                                                 if (r != -EBADR)
                                                         goto fail;