]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
logind: tighten for which classes of sessions we do stop-on-idle
authorLennart Poettering <lennart@poettering.net>
Thu, 4 Jan 2024 12:40:00 +0000 (13:40 +0100)
committerLennart Poettering <lennart@poettering.net>
Thu, 11 Jan 2024 16:23:48 +0000 (17:23 +0100)
We only want to do this for fully set up, interactive sessions, i.e.
user and user-early, but not for any others, hence restrict the rules a
bit.

Follow-up for: 508b4786e8592e82eb4832549f74aaa54335d14c

src/login/logind-session.c
src/login/logind-session.h

index 3226f3db78376bd3034ed14ce6ac99b8c5c9e855..69dc52ad66ce0d025c081cd5270d38abc1bc265e 100644 (file)
@@ -817,7 +817,7 @@ static int session_setup_stop_on_idle_timer(Session *s) {
 
         assert(s);
 
-        if (s->manager->stop_idle_session_usec == USEC_INFINITY || IN_SET(s->class, SESSION_GREETER, SESSION_LOCK_SCREEN))
+        if (s->manager->stop_idle_session_usec == USEC_INFINITY || !SESSION_CLASS_CAN_STOP_ON_IDLE(s->class))
                 return 0;
 
         r = sd_event_add_time_relative(
index 9cba60c18f6aad637b7aa9b081f435d6e34b27e6..a7d90e997e525f86a9a02a5d42d1e89045d8e60e 100644 (file)
@@ -54,6 +54,9 @@ typedef enum SessionClass {
 /* Which sessions are candidates to become "display" sessions */
 #define SESSION_CLASS_CAN_DISPLAY(class) (IN_SET((class), SESSION_USER, SESSION_USER_EARLY, SESSION_GREETER))
 
+/* Which sessions classes should be subject to stop-in-idle */
+#define SESSION_CLASS_CAN_STOP_ON_IDLE(class) (IN_SET((class), SESSION_USER, SESSION_USER_EARLY))
+
 typedef enum SessionType {
         SESSION_UNSPECIFIED,
         SESSION_TTY,