]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
logind: don't unlink session fifo when exiting logind 13143/head
authorLennart Poettering <lennart@poettering.net>
Tue, 23 Jul 2019 10:41:05 +0000 (12:41 +0200)
committerLennart Poettering <lennart@poettering.net>
Tue, 23 Jul 2019 14:08:07 +0000 (16:08 +0200)
Let's only close our fds, but not unlink it. That's done when the
session is stopped.

This should make sure the fd will survive daemon restarts.

src/login/logind-session.c

index 5658ba7c68da8c7b829eec0cfc5b465cfc0f1f80..7e8025a0ea22b4cbe0faff88f8b5b684cbe77cb5 100644 (file)
@@ -96,8 +96,6 @@ Session* session_free(Session *s) {
 
         s->timer_event_source = sd_event_source_unref(s->timer_event_source);
 
-        session_remove_fifo(s);
-
         session_drop_controller(s);
 
         while ((sd = hashmap_first(s->devices)))
@@ -145,7 +143,13 @@ Session* session_free(Session *s) {
 
         hashmap_remove(s->manager->sessions, s->id);
 
+        sd_event_source_unref(s->fifo_event_source);
+        safe_close(s->fifo_fd);
+
+        /* Note that we remove neither the state file nor the fifo path here, since we want both to survive
+         * daemon restarts */
         free(s->state_file);
+        free(s->fifo_path);
 
         return mfree(s);
 }