]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
logind: schedule idle check full interval from now if we couldn't figure out atime...
authorMichal Sekletar <msekleta@redhat.com>
Fri, 9 Sep 2022 11:38:58 +0000 (13:38 +0200)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 13 Sep 2022 12:11:34 +0000 (21:11 +0900)
src/login/logind-session.c

index 096940ddc403c478dcea9c6c7e58587530ca393c..5bd4abc474f3c931d670248157a2e4ad4349f9ab 100644 (file)
@@ -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");