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

Reply via email to