summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-09-03 01:42:19 +0200
committerLennart Poettering <lennart@poettering.net>2010-09-03 01:42:57 +0200
commitb401e1fb9df7ea8b0fd26e16d886056a5ae7c5d9 (patch)
tree609ee3f33898262c424aad11f58ca6e855222ca0
parent7f97f0fee46ae167c27c5be21ee0caddacbc6bf9 (diff)
downloadsystemd-b401e1fb9df7ea8b0fd26e16d886056a5ae7c5d9.tar.gz
target: implicitly shutdown targets on shutdown, so that they are pulled into the final transaction and may be used for synchronization
-rw-r--r--src/target.c3
-rw-r--r--units/halt.target1
-rw-r--r--units/poweroff.target1
-rw-r--r--units/reboot.target1
-rw-r--r--units/shutdown.target1
5 files changed, 6 insertions, 1 deletions
diff --git a/src/target.c b/src/target.c
index c350d8fa19..1118693a39 100644
--- a/src/target.c
+++ b/src/target.c
@@ -75,7 +75,8 @@ static int target_add_default_dependencies(Target *t) {
if ((r = unit_add_dependency(UNIT(t), UNIT_AFTER, other, true)) < 0)
return r;
- return 0;
+ /* Make sure targets are unloaded on shutdown */
+ return unit_add_dependency_by_name(UNIT(t), UNIT_CONFLICTED_BY, SPECIAL_SHUTDOWN_TARGET, NULL, true);
}
static int target_add_getty_dependencies(Target *t) {
diff --git a/units/halt.target b/units/halt.target
index 70e90fedde..04b42cd3d1 100644
--- a/units/halt.target
+++ b/units/halt.target
@@ -9,6 +9,7 @@
[Unit]
Description=Halt
+DefaultDependencies=no
Requires=halt.service
After=halt.service
AllowIsolate=yes
diff --git a/units/poweroff.target b/units/poweroff.target
index cb9460639f..975b088965 100644
--- a/units/poweroff.target
+++ b/units/poweroff.target
@@ -9,6 +9,7 @@
[Unit]
Description=Power-Off
+DefaultDependencies=no
Names=runlevel0.target
Requires=poweroff.service
After=poweroff.service
diff --git a/units/reboot.target b/units/reboot.target
index 855751306d..2cd46a062b 100644
--- a/units/reboot.target
+++ b/units/reboot.target
@@ -9,6 +9,7 @@
[Unit]
Description=Reboot
+DefaultDependencies=no
Names=runlevel6.target
Requires=reboot.service
After=reboot.service
diff --git a/units/shutdown.target b/units/shutdown.target
index 6d1fb6f10f..4db9f1fbe5 100644
--- a/units/shutdown.target
+++ b/units/shutdown.target
@@ -9,5 +9,6 @@
[Unit]
Description=Shutdown
+DefaultDependencies=no
RefuseManualStart=yes
IgnoreDependencyFailure=yes