chiark / gitweb /
units: turn Wants=shutdown back into Requires=shutdown to avoid removal of jobs due...
authorLennart Poettering <lennart@poettering.net>
Sun, 11 Jul 2010 02:22:00 +0000 (04:22 +0200)
committerLennart Poettering <lennart@poettering.net>
Sun, 11 Jul 2010 02:22:00 +0000 (04:22 +0200)
15 files changed:
src/systemctl.c
units/arch/halt.service
units/arch/poweroff.service
units/arch/reboot.service
units/emergency.service
units/fedora/halt.service
units/fedora/poweroff.service
units/fedora/reboot.service
units/gentoo/halt.service
units/gentoo/poweroff.service
units/gentoo/reboot.service
units/session/exit.service.in
units/suse/halt.service
units/suse/poweroff.service
units/suse/reboot.service

index d033a75280e27c44da466e9efa94903de510f0e0..d1892e4ae05bfdd27ebe0716faf20a16c094416c 100644 (file)
@@ -794,12 +794,17 @@ finish:
 }
 
 static int start_special(DBusConnection *bus, char **args, unsigned n) {
+        int r;
+
         assert(bus);
         assert(args);
 
-        warn_wall(verb_to_action(args[0]));
+        r = start_unit(bus, args, n);
+
+        if (r >= 0)
+                warn_wall(verb_to_action(args[0]));
 
-        return start_unit(bus, args, n);
+        return r;
 }
 
 static int check_unit(DBusConnection *bus, char **args, unsigned n) {
@@ -3292,26 +3297,29 @@ static int reload_with_fallback(DBusConnection *bus) {
 static int start_with_fallback(DBusConnection *bus) {
         int r;
 
-        warn_wall(arg_action);
 
         if (bus) {
                 /* First, try systemd via D-Bus. */
                 if ((r = start_unit(bus, NULL, 0)) > 0)
-                        return 0;
+                        goto done;
 
                 /* Hmm, talking to systemd via D-Bus didn't work. Then
                  * let's try to talk to Upstart via D-Bus. */
                 if ((r = talk_upstart()) > 0)
-                        return 0;
+                        goto done;
         }
 
         /* Nothing else worked, so let's try
          * /dev/initctl */
         if ((r = talk_initctl()) != 0)
-                return 0;
+                goto done;
 
         log_error("Failed to talk to init daemon.");
         return -EIO;
+
+done:
+        warn_wall(arg_action);
+        return 0;
 }
 
 static int halt_main(DBusConnection *bus) {
index 190e4fee894b7aba630df3fd3b37f7117256f7f8..87224e34b6142ab4a0c8627afadbac7a9e4aa215 100644 (file)
@@ -8,7 +8,7 @@
 [Unit]
 Description=Halt
 DefaultDependencies=no
-Wants=shutdown.target
+Requires=shutdown.target
 After=shutdown.target
 Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount sys-kernel-security.automount
 
index 0b1ee89aa679a65f7cbea3f5ae02e713f43a7ef5..ffa592c8f67c7196a5f472fe09d13a9069b97b29 100644 (file)
@@ -8,7 +8,7 @@
 [Unit]
 Description=Power-Off
 DefaultDependencies=no
-Wants=shutdown.target
+Requires=shutdown.target
 After=shutdown.target
 Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount sys-kernel-security.automount
 
index 274f4075f2db61d297ce51c23a269e31c890c4bf..934903dc6b5b3c4df44efe28f30e6c5311fc2766 100644 (file)
@@ -8,7 +8,7 @@
 [Unit]
 Description=Reboot
 DefaultDependencies=no
-Wants=shutdown.target
+Requires=shutdown.target
 After=shutdown.target
 Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount sys-kernel-security.automount
 
index 0014c263b400e37a4f4a5edd31baa80ca05c6abf..bcedebfa089d711f8df3201b3637381c847cfa7a 100644 (file)
@@ -10,7 +10,7 @@
 [Unit]
 Description=Emergency Shell
 DefaultDependencies=no
-Wants=shutdown.target umount.target
+Requires=shutdown.target umount.target
 After=shutdown.target umount.target
 
 [Service]
index 0c0fa5fa380ac7816ccc8a0d681e08ca7d7aa338..b957a3fe302f4ee4e6dfcab5a25b229a8f236354 100644 (file)
@@ -8,7 +8,7 @@
 [Unit]
 Description=Halt
 DefaultDependencies=no
-Wants=shutdown.target killall.service
+Requires=shutdown.target killall.service
 After=shutdown.target killall.service
 Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount sys-kernel-security.automount
 
index 913edc489fefce6b413a571db7b2c130800522cb..76d030c041c2cf15e51ab6ce184d87629aac183f 100644 (file)
@@ -8,7 +8,7 @@
 [Unit]
 Description=Power-Off
 DefaultDependencies=no
-Wants=shutdown.target killall.service
+Requires=shutdown.target killall.service
 After=shutdown.target killall.service
 Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount sys-kernel-security.automount
 
index c81b13ecd9f38ebb2772c848a41b9fcd6b2b23ff..6a93c0b5575c29d6d02b7d04ffe50ba4219fde8d 100644 (file)
@@ -8,7 +8,7 @@
 [Unit]
 Description=Reboot
 DefaultDependencies=no
-Wants=shutdown.target killall.service
+Requires=shutdown.target killall.service
 After=shutdown.target killall.service
 Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount sys-kernel-security.automount
 
index 28db813fb37772f6d1f04fe530d4fab77ce2f2d6..19ead8a315a3dac732b3639a3edbcbe84111b7af 100644 (file)
@@ -8,7 +8,7 @@
 [Unit]
 Description=Halt
 DefaultDependencies=no
-Wants=shutdown.target killall.service
+Requires=shutdown.target killall.service
 After=shutdown.target killall.service
 Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount sys-kernel-security.automount
 
index da6f48f74913c7f8b59dc74b97ae4c2a5b81a825..9ceb205b05195c08a227b7199f920887f050c5de 100644 (file)
@@ -8,7 +8,7 @@
 [Unit]
 Description=Power-Off
 DefaultDependencies=no
-Wants=shutdown.target killall.service
+Requires=shutdown.target killall.service
 After=shutdown.target killall.service
 Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount sys-kernel-security.automount
 
index a0f357538552f5abbfcc81f1bb11557ed0a59a0e..c223e6c26f4390171cffdfce0c6539599d6ba2f8 100644 (file)
@@ -8,7 +8,7 @@
 [Unit]
 Description=Reboot
 DefaultDependencies=no
-Wants=shutdown.target killall.service
+Requires=shutdown.target killall.service
 After=shutdown.target killall.service
 Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount sys-kernel-security.automount
 
index 3e5b5bff71efa25332fc289aedd2dfd01ba820ca..1f515a75cedbf15701b9a61737cc3be85d0bfcb0 100644 (file)
@@ -1,7 +1,7 @@
 [Unit]
 Description=Exit
 DefaultDependencies=no
-Wants=shutdown.target
+Requires=shutdown.target
 After=shutdown.target
 
 [Service]
index 00bbfa93f49f81320c1b07995af8588367645e71..5f42ac691f72557c78ccbf22b9648a7b84188c65 100644 (file)
@@ -8,7 +8,7 @@
 [Unit]
 Description=Halt
 DefaultDependencies=no
-Wants=shutdown.target
+Requires=shutdown.target
 After=shutdown.target
 Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount sys-kernel-security.automount
 
index e9aff275d4458cc5296025853fb60ff46fbf5397..93a9da502ad839bd2d3c8b563e9ebcbd4c18aa36 100644 (file)
@@ -8,7 +8,7 @@
 [Unit]
 Description=Power-Off
 DefaultDependencies=no
-Wants=shutdown.target
+Requires=shutdown.target
 After=shutdown.target
 Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount sys-kernel-security.automount
 
index e9b76b61db3bfac30dab9fbd6bddb1e1a2587493..c3526b3035c3070f730e9ca531f6c76b94ae6737 100644 (file)
@@ -8,7 +8,7 @@
 [Unit]
 Description=Reboot
 DefaultDependencies=no
-Wants=shutdown.target
+Requires=shutdown.target
 After=shutdown.target
 Conflicts=dev-hugepages.automount dev-mqueue.automount proc-sys-fs-binfmt_misc.automount sys-kernel-debug.automount sys-kernel-security.automount