mirror of
https://github.com/systemd/systemd.git
synced 2024-11-02 10:51:20 +03:00
Merge pull request #10814 from poettering/logind-suspend-fallback
if we need to hibernate/suspend-then-hibernate/hybrid-sleep due to keypress/lid switch but can't, fallback to regular suspend
This commit is contained in:
commit
431957c959
@ -108,6 +108,14 @@ int manager_handle_action(
|
||||
else
|
||||
supported = true;
|
||||
|
||||
if (!supported && IN_SET(handle, HANDLE_HIBERNATE, HANDLE_HYBRID_SLEEP, HANDLE_SUSPEND_THEN_HIBERNATE)) {
|
||||
supported = can_sleep("suspend") > 0;
|
||||
if (supported) {
|
||||
log_notice("Operation '%s' requested but not supported, using regular suspend instead.", handle_action_to_string(handle));
|
||||
handle = HANDLE_SUSPEND;
|
||||
}
|
||||
}
|
||||
|
||||
if (!supported) {
|
||||
log_warning("Requested operation not supported, ignoring.");
|
||||
return -EOPNOTSUPP;
|
||||
@ -129,7 +137,7 @@ int manager_handle_action(
|
||||
manager_is_inhibited(m, inhibit_operation, INHIBIT_BLOCK, NULL, false, false, 0, &offending)) {
|
||||
_cleanup_free_ char *comm = NULL, *u = NULL;
|
||||
|
||||
get_process_comm(offending->pid, &comm);
|
||||
(void) get_process_comm(offending->pid, &comm);
|
||||
u = uid_to_name(offending->uid);
|
||||
|
||||
/* If this is just a recheck of the lid switch then don't warn about anything */
|
||||
|
Loading…
Reference in New Issue
Block a user