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 <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 130246d2e8
This commit is contained in:
Guillem Jover 2018-04-30 18:21:27 +02:00 committed by Lennart Poettering
parent 2ff04e5b7f
commit 2955e0d4dc
1 changed files with 5 additions and 0 deletions

View 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();