From 2955e0d4dcd670651a55c9372e45b5183f602041 Mon Sep 17 00:00:00 2001 From: Guillem Jover Date: Mon, 30 Apr 2018 18:21:27 +0200 Subject: [PATCH] systemctl: make sure legacy "reboot", "suspend" and friends are always asynchronous (#8848) 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 ". 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 | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index c6342243f8..49395ce02c 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -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(); -- 2.25.1