summaryrefslogtreecommitdiff
path: root/src/login
diff options
context:
space:
mode:
authorMichal Sekletar <msekleta@redhat.com>2022-09-09 13:38:58 +0200
committerYu Watanabe <watanabe.yu+github@gmail.com>2022-09-13 21:11:34 +0900
commitab7ae746c6eed3074aa7edc6ae9ecfbac157e0da (patch)
tree32a75ef0ab834fbc236a109fc905d1f99d2e8273 /src/login
parent6f2d367e4971c462c382d607825441bc294b28cd (diff)
downloadsystemd-ab7ae746c6eed3074aa7edc6ae9ecfbac157e0da.tar.gz
logind: schedule idle check full interval from now if we couldn't figure out atime timestamp
Diffstat (limited to 'src/login')
-rw-r--r--src/login/logind-session.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/login/logind-session.c b/src/login/logind-session.c
index 096940ddc4..5bd4abc474 100644
--- a/src/login/logind-session.c
+++ b/src/login/logind-session.c
@@ -716,7 +716,10 @@ static int session_dispatch_stop_on_idle(sd_event_source *source, uint64_t t, vo
return session_stop(s, /* force */ true);
}
- r = sd_event_source_set_time(source, usec_add(ts.monotonic, s->manager->stop_idle_session_usec));
+ r = sd_event_source_set_time(
+ source,
+ usec_add(dual_timestamp_is_set(&ts) ? ts.monotonic : now(CLOCK_MONOTONIC),
+ s->manager->stop_idle_session_usec));
if (r < 0)
return log_error_errno(r, "Failed to configure stop on idle session event source: %m");