When dependency unit is configured with StopWhenUnneeded=yes and
activation of main unit fails, e.g. start timeout occurs, then
dependencies are never stopped. This happens because start job for
the main unit is still around.
---
src/core/unit.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/core/unit.c b/src/core/unit.c
index 0e9329f..d5c89a4 100644
--- a/src/core/unit.c
+++ b/src/core/unit.c
@@ -1461,7 +1461,7 @@ void unit_notify(Unit *u, UnitActiveState os,
UnitActiveState ns, bool reload_su
else if (u->job->state == JOB_RUNNING && ns !=
UNIT_ACTIVATING) {
unexpected = true;
- if (UNIT_IS_INACTIVE_OR_FAILED(ns))
+ if (UNIT_IS_INACTIVE_OR_FAILED(ns) ||
UNIT_IS_INACTIVE_OR_DEACTIVATING(ns))
job_finish_and_invalidate(u->job, ns
== UNIT_FAILED ? JOB_FAILED : JOB_DONE, true);
}
--
1.8.3.1
_______________________________________________
systemd-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/systemd-devel