summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2015-05-21 20:39:23 +0200
committerLennart Poettering <lennart@poettering.net>2015-05-21 20:49:24 +0200
commit48894cd07cdbd125688ade4a5772eaebe5969e74 (patch)
tree33bc508fd68f0a66ab33db31c65521a23e289e40 /src
parentf7a73a2558bceffd983eb7642680e718cd981122 (diff)
core: properly handle jobs that are suppressed to JOB_NOPs when propagating restarts
Diffstat (limited to 'src')
-rw-r--r--src/core/transaction.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/core/transaction.c b/src/core/transaction.c
index 33fa675e53..090103fbda 100644
--- a/src/core/transaction.c
+++ b/src/core/transaction.c
@@ -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;