summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Schmidt <mschmidt@redhat.com>2012-04-20 14:44:00 +0200
committerMichal Schmidt <mschmidt@redhat.com>2012-04-20 17:12:29 +0200
commit65304075249449a713b4e4842b8538ef4aa1c725 (patch)
tree9459e3dd34c797774c341e9f426024e58ba098c4
parent97e6a11996855800f68dc41c13537784198c8b61 (diff)
transaction: add starting requirements for JOB_RESTART
While having a Requires= dependency between units, the dependency is started automatically on "systemctl start", but it's not started on "systemctl restart". JOB_RESTART jobs did not pull the dependencies for starting into the transaction. https://bugzilla.redhat.com/show_bug.cgi?id=802770 Note that the other bug noted in comment #2 has been fixed already by avoiding the deletion of anchor jobs.
-rw-r--r--src/core/transaction.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/core/transaction.c b/src/core/transaction.c
index c3e1e13296..a2efcbcff4 100644
--- a/src/core/transaction.c
+++ b/src/core/transaction.c
@@ -866,7 +866,7 @@ int transaction_add_job_and_dependencies(
}
/* Finally, recursively add in all dependencies. */
- if (type == JOB_START || type == JOB_RELOAD_OR_START) {
+ if (type == JOB_START || type == JOB_RELOAD_OR_START || type == JOB_RESTART) {
SET_FOREACH(dep, ret->unit->dependencies[UNIT_REQUIRES], i) {
r = transaction_add_job_and_dependencies(tr, JOB_START, dep, ret, true, override, false, false, ignore_order, e);
if (r < 0) {