diff options
author | Sven Eden <yamakuzure@gmx.net> | 2018-01-14 18:07:25 +0100 |
---|---|---|
committer | Sven Eden <yamakuzure@gmx.net> | 2018-01-14 18:07:25 +0100 |
commit | a1d9425d4be6f0b899ba2c49cfe604d741f4f836 (patch) | |
tree | 24d937192902ac2cd02a8a1f60eeff6107e4ee79 /src/login/elogind-dbus.c | |
parent | 5e714ac6ca27be76e670e185f71479beeb372f4b (diff) |
Prep 235: Don't allow multiple jobs being executed at the same time
Diffstat (limited to 'src/login/elogind-dbus.c')
-rw-r--r-- | src/login/elogind-dbus.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/login/elogind-dbus.c b/src/login/elogind-dbus.c index ede2bfd35..16b0b7939 100644 --- a/src/login/elogind-dbus.c +++ b/src/login/elogind-dbus.c @@ -434,9 +434,17 @@ int manager_scheduled_shutdown_handler( else action = HANDLE_REBOOT; + /* Don't allow multiple jobs being executed at the same time */ + if (m->action_what) { + log_error("Scheduled shutdown to %s failed: shutdown or sleep operation already in progress", + m->scheduled_shutdown_type); + return -EALREADY; + } + r = execute_shutdown_or_sleep(m, 0, action, &error); if (r < 0) - return log_error_errno(r, "Unable to execute transition to %s: %m", m->scheduled_shutdown_type); + return log_error_errno(r, "Scheduled shutdown to %s failed: %m", + m->scheduled_shutdown_type); return 0; } |