summaryrefslogtreecommitdiff
path: root/src/login/elogind.c
diff options
context:
space:
mode:
authorSven Eden <yamakuzure@gmx.net>2018-08-21 08:20:36 +0200
committerSven Eden <yamakuzure@gmx.net>2018-08-24 16:47:08 +0200
commitfe9f813b914df4d0451f8e7b12eca0408db625bf (patch)
tree63a2281034efe71508dd12cdcaa5f70d3731c23a /src/login/elogind.c
parentcf380e653e9ff12805ef32041118fe3c1b9fbd55 (diff)
Prep v239: Add support for the new 'suspend-then-hibernate' method.
Diffstat (limited to 'src/login/elogind.c')
-rw-r--r--src/login/elogind.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/login/elogind.c b/src/login/elogind.c
index 90ae3d7f1..c884789f7 100644
--- a/src/login/elogind.c
+++ b/src/login/elogind.c
@@ -379,12 +379,13 @@ int elogind_manager_new(Manager* m) {
m->test_run_flags = 0;
/* Init sleep modes and states */
- m->suspend_mode = NULL;
- m->suspend_state = NULL;
- m->hibernate_mode = NULL;
- m->hibernate_state = NULL;
- m->hybrid_sleep_mode = NULL;
- m->hybrid_sleep_state = NULL;
+ m->suspend_mode = NULL;
+ m->suspend_state = NULL;
+ m->hibernate_mode = NULL;
+ m->hibernate_state = NULL;
+ m->hybrid_sleep_mode = NULL;
+ m->hybrid_sleep_state = NULL;
+ m->hibernate_delay_sec = 0;
/* If elogind should be its own controller, mount its cgroup */
if (streq(SYSTEMD_CGROUP_CONTROLLER, "_elogind")) {
@@ -419,6 +420,8 @@ void elogind_manager_reset_config(Manager* m) {
m->hybrid_sleep_mode = strv_new("suspend", "platform", "shutdown", NULL);
if (!m->hybrid_sleep_state)
m->hybrid_sleep_state = strv_new("disk", NULL);
+ if (!m->hibernate_delay_sec)
+ m->hibernate_delay_sec = 180 * USEC_PER_MINUTE;
#if ENABLE_DEBUG_ELOGIND
dbg_cnt = -1;
@@ -445,6 +448,9 @@ void elogind_manager_reset_config(Manager* m) {
while (m->hybrid_sleep_state[++dbg_cnt])
log_debug_elogind("hybrid_sleep_state[%d] = %s",
dbg_cnt, m->hybrid_sleep_state[dbg_cnt]);
+ log_debug_elogind("hibernate_delay_sec: %ul seconds (%ul minutes)",
+ m->hibernate_delay_sec / USEC_PER_SEC,
+ m->hibernate_delay_sec / USEC_PER_MINUTE);
#endif // ENABLE_DEBUG_ELOGIND
}