X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Ftransaction.c;h=4bce9420124b7134b92ef3e70b47b6f3188a2ba8;hb=c53158818d8cdaf46b3f1b5299b9bda118a1043f;hp=a1cf70693428d9ad535d77a883692422a40afca1;hpb=7f2cddae09fd2579ae24434df577bb5e5a157d86;p=elogind.git diff --git a/src/core/transaction.c b/src/core/transaction.c index a1cf70693..4bce94201 100644 --- a/src/core/transaction.c +++ b/src/core/transaction.c @@ -392,7 +392,7 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi j->marker = from ? from : j; j->generation = generation; - /* We assume that the the dependencies are bidirectional, and + /* We assume that the dependencies are bidirectional, and * hence can ignore UNIT_AFTER */ SET_FOREACH(u, j->unit->dependencies[UNIT_BEFORE], i) { Job *o; @@ -994,6 +994,18 @@ int transaction_add_job_and_dependencies( dbus_error_free(e); } } + + SET_FOREACH(dep, ret->unit->dependencies[UNIT_CONSISTS_OF], i) { + r = transaction_add_job_and_dependencies(tr, type, dep, ret, true, override, false, false, ignore_order, e); + if (r < 0) { + if (r != -EBADR) + goto fail; + + if (e) + dbus_error_free(e); + } + } + } if (type == JOB_RELOAD) {