]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
login: Queue session for garbage collection on leader death 36364/head
authormsizanoen <msizanoen@qtmlabs.xyz>
Wed, 12 Feb 2025 14:27:25 +0000 (21:27 +0700)
committermsizanoen <msizanoen@qtmlabs.xyz>
Thu, 13 Feb 2025 02:29:11 +0000 (09:29 +0700)
This ensures sessions are cleaned up properly in case the user service
manager was manually stopped.

src/login/logind-session.c

index 60f3d6e3bb80e801d5cd15210c5a09458d087a2c..7ad34364cf4d63e0f35c903439217840d0c075a2 100644 (file)
@@ -96,6 +96,8 @@ static int session_dispatch_leader_pidfd(sd_event_source *es, int fd, uint32_t r
 
         session_stop(s, /* force= */ false);
 
+        session_add_to_gc_queue(s);
+
         return 1;
 }
 
@@ -1272,6 +1274,8 @@ static int session_dispatch_fifo(sd_event_source *es, int fd, uint32_t revents,
         session_remove_fifo(s);
         session_stop(s, /* force = */ false);
 
+        session_add_to_gc_queue(s);
+
         return 1;
 }