]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
systemctl: make sure legacy "reboot", "suspend" and friends are always asynchronous...
authorGuillem Jover <guillem@hadrons.org>
Mon, 30 Apr 2018 16:21:27 +0000 (18:21 +0200)
committerLennart Poettering <lennart@poettering.net>
Mon, 30 Apr 2018 16:21:27 +0000 (18:21 +0200)
Currently, "reboot" behaves differently in setups with and without logind.
If logind is used (which is probably the more common case) the operation
is asynchronous, we should behave in the same way as "systemctl <verb>".
Let's clean this up, and always expose the same behaviour, regardless if
logind is used or not: let's always make it asynchronous.

See: #6479
Fixes: commit 130246d2e8d7a0c91dbaa1110fa7a6d6e6f86a50
src/systemctl/systemctl.c

index c6342243f818cbfb8e1cdb5590c6e934ec672bb1..49395ce02c327adaffd2aa4be216f81a8759e497 100644 (file)
@@ -8466,6 +8466,11 @@ static int halt_main(void) {
                 }
         }
 
+        /* In order to minimize the difference between operation with and
+         * without logind, we explicitly enable non-blocking mode for this,
+         * as logind's shutdown operations are always non-blocking. */
+        arg_no_block = true;
+
         if (!arg_dry_run && !arg_force)
                 return start_with_fallback();