From: Lennart Poettering Date: Thu, 28 Jan 2016 17:51:42 +0000 (+0100) Subject: core: when propagating reload jobs, downgrade them to try-reload X-Git-Tag: v229~65^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=75a77a6ba4dbccd3e8d002f5efd3f714e1b49de2;p=thirdparty%2Fsystemd.git core: when propagating reload jobs, downgrade them to try-reload Otherwise we might end up generating jobs that fail immediately. This follows the same logic that restart propagation follows. --- diff --git a/src/core/transaction.c b/src/core/transaction.c index 8b0ed746431..0d53e4bac0c 100644 --- a/src/core/transaction.c +++ b/src/core/transaction.c @@ -1010,7 +1010,13 @@ int transaction_add_job_and_dependencies( if (type == JOB_RELOAD) { SET_FOREACH(dep, ret->unit->dependencies[UNIT_PROPAGATES_RELOAD_TO], i) { - r = transaction_add_job_and_dependencies(tr, JOB_RELOAD, dep, ret, false, false, false, ignore_order, e); + JobType nt; + + nt = job_type_collapse(JOB_TRY_RELOAD, dep); + if (nt == JOB_NOP) + continue; + + r = transaction_add_job_and_dependencies(tr, nt, dep, ret, false, false, false, ignore_order, e); if (r < 0) { log_unit_warning(dep, "Cannot add dependency reload job, ignoring: %s",