systemctl: do not shutdown immediately on scheduled shutdown
authorIoanna Alifieraki <ioanna-maria.alifieraki@canonical.com>
Thu, 17 Dec 2020 14:52:07 +0000 (14:52 +0000)
committerLuca Boccassi <bluca@debian.org>
Tue, 27 Feb 2024 17:43:55 +0000 (17:43 +0000)
When, for whatever reason, a scheduled shutdown fails to be set, systemd
will proceed with immediate shutdown without allowing the user to react.
This is counterintuitive because when a scheduled shutdown is issued,
it means the user wants to shutdown at a specified time in the future,
not immediately. This patch prevents the immediate shutdown and informs
the user that no action will be taken.

Fixes: #17575
Gbp-Pq: Topic debian
Gbp-Pq: Name systemctl-do-not-shutdown-immediately-on-scheduled-shutdo.patch

src/systemctl/systemctl-compat-halt.c

index 4f6e30481678cfd4445f74e0221f6ef9422e6ce0..520e794ad2cf5258fe07a81a093b118639395b43 100644 (file)
@@ -155,9 +155,11 @@ int halt_main(void) {
 
         if (arg_force == 0) {
                 /* always try logind first */
-                if (arg_when > 0)
+                if (arg_when > 0) {
                         r = logind_schedule_shutdown(arg_action);
-                else {
+                        if (r < 0)
+                                return r;
+                } else {
                         r = logind_check_inhibitors(arg_action);
                         if (r < 0)
                                 return r;