From b401e1fb9df7ea8b0fd26e16d886056a5ae7c5d9 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 3 Sep 2010 01:42:19 +0200 Subject: [PATCH] target: implicitly shutdown targets on shutdown, so that they are pulled into the final transaction and may be used for synchronization --- src/target.c | 3 ++- units/halt.target | 1 + units/poweroff.target | 1 + units/reboot.target | 1 + units/shutdown.target | 1 + 5 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/target.c b/src/target.c index c350d8fa195..1118693a390 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 70e90fedde6..04b42cd3d1d 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 cb9460639f3..975b088965d 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 855751306d9..2cd46a062bf 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 6d1fb6f10ff..4db9f1fbe56 100644 --- a/units/shutdown.target +++ b/units/shutdown.target @@ -9,5 +9,6 @@ [Unit] Description=Shutdown +DefaultDependencies=no RefuseManualStart=yes IgnoreDependencyFailure=yes