From: Harald Hoyer <[email protected]>
Not sure, if this is the correct place to enforce this, but it seems to
work.
---
src/core/transaction.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/core/transaction.c b/src/core/transaction.c
index 4a8d90e..3fed57a 100644
--- a/src/core/transaction.c
+++ b/src/core/transaction.c
@@ -915,6 +915,13 @@ int transaction_add_job_and_dependencies(
/* Finally, recursively add in all dependencies. */
if (type == JOB_START || type == JOB_RESTART) {
+ SET_FOREACH(dep, ret->unit->dependencies[UNIT_BEFORE],
i) {
+ if (dep->type == UNIT_TARGET) {
+ Target *t = TARGET(dep);
+ t->state = TARGET_DEAD;
+ }
+ }
+
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) {
--
1.8.1
_______________________________________________
systemd-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/systemd-devel