summaryrefslogtreecommitdiff
path: root/src/sleep
diff options
context:
space:
mode:
authormsizanoen1 <msizanoen@qtmlabs.xyz>2022-12-07 16:54:13 +0700
committermsizanoen1 <msizanoen@qtmlabs.xyz>2022-12-08 00:54:53 +0100
commitefa736d3835583a0464b404ae88945d55a180d92 (patch)
tree847eb9ff971b7105523f8e9fa6e76c1b73cc143e /src/sleep
parent2d18605ca81b50594cf307e8f968edd429205bc3 (diff)
downloadsystemd-efa736d3835583a0464b404ae88945d55a180d92.tar.gz
sleep: always thaw user.slice even if freezing failed
`FreezeUnit` can fail even when some units did got frozen, causing some user units to be frozen. A possible symptom is `user@.service` being frozen while still being able to log in over SSH.
Diffstat (limited to 'src/sleep')
-rw-r--r--src/sleep/sleep.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c
index 6785ae2330..e74e334e33 100644
--- a/src/sleep/sleep.c
+++ b/src/sleep/sleep.c
@@ -374,7 +374,7 @@ static int freeze_thaw_user_slice(const char **method) {
}
static int execute_s2h(const SleepConfig *sleep_config) {
- _unused_ _cleanup_(freeze_thaw_user_slice) const char *auto_method_thaw = NULL;
+ _unused_ _cleanup_(freeze_thaw_user_slice) const char *auto_method_thaw = "ThawUnit";
int r, k;
assert(sleep_config);
@@ -382,8 +382,6 @@ static int execute_s2h(const SleepConfig *sleep_config) {
r = freeze_thaw_user_slice(&(const char*) { "FreezeUnit" });
if (r < 0)
log_debug_errno(r, "Failed to freeze unit user.slice, ignoring: %m");
- else
- auto_method_thaw = "ThawUnit"; /* from now on we want automatic thawing */;
r = check_wakeup_type();
if (r < 0)