From 3eb8acda96eb99d45eef42fa8c5d035180d0b25a Mon Sep 17 00:00:00 2001 From: Mike Yuan Date: Sun, 14 Jan 2024 05:14:42 +0800 Subject: [PATCH] logind-dbus: refuse multiple jobs in method_do_shutdown_or_sleep too Fixes #30917 --- src/login/logind-dbus.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c index 2b993fd842f..932eb42b4e8 100644 --- a/src/login/logind-dbus.c +++ b/src/login/logind-dbus.c @@ -2128,6 +2128,12 @@ static int method_do_shutdown_or_sleep( if (r != 0) return r; + if (m->delayed_action) + return sd_bus_error_setf(error, BUS_ERROR_OPERATION_IN_PROGRESS, + "Action %s already in progress, refusing requested %s operation.", + handle_action_to_string(m->delayed_action->handle), + handle_action_to_string(a->handle)); + /* reset case we're shorting a scheduled shutdown */ m->unlink_nologin = false; reset_scheduled_shutdown(m); -- 2.47.3