summaryrefslogtreecommitdiff
path: root/src/login/logind-dbus.c
diff options
context:
space:
mode:
authorChristian Göttsche <cgzones@googlemail.com>2022-05-27 13:47:23 +0200
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2022-06-01 09:30:07 +0200
commitea74f39c24344eafc238d1c69155bd5aca5f2e08 (patch)
tree5e0127c3c47ef776beb293338647162d1308bb67 /src/login/logind-dbus.c
parent51a2b575d751c257f2603f12fe9bb883014c37c1 (diff)
downloadsystemd-ea74f39c24344eafc238d1c69155bd5aca5f2e08.tar.gz
login: do not issue wall messages on local terminals for suspend and hibernate
Fixes: #23520 [zjs: I added the comment and tweaked the patch a bit. The call to reset_scheduled_shutdown() is moved down a bit to allow the callback to have access to information about the operation being cancelled. This all happens within the same function, so there should be no observable change in behaviour.]
Diffstat (limited to 'src/login/logind-dbus.c')
-rw-r--r--src/login/logind-dbus.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
index f7cff58005..c40d8defaf 100644
--- a/src/login/logind-dbus.c
+++ b/src/login/logind-dbus.c
@@ -2342,8 +2342,6 @@ static int method_cancel_scheduled_shutdown(sd_bus_message *message, void *userd
if (r == 0)
return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */
- reset_scheduled_shutdown(m);
-
if (m->enable_wall_messages) {
_cleanup_(sd_bus_creds_unrefp) sd_bus_creds *creds = NULL;
_cleanup_free_ char *username = NULL;
@@ -2361,6 +2359,8 @@ static int method_cancel_scheduled_shutdown(sd_bus_message *message, void *userd
username, tty, logind_wall_tty_filter, m);
}
+ reset_scheduled_shutdown(m);
+
return sd_bus_reply_method_return(message, "b", true);
}