From: Lennart Poettering Date: Tue, 23 Jul 2019 10:41:05 +0000 (+0200) Subject: logind: don't unlink session fifo when exiting logind X-Git-Tag: v243-rc1~56^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c20b8dad71bf4716471237776291534c593904cd;p=thirdparty%2Fsystemd.git logind: don't unlink session fifo when exiting logind 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. --- diff --git a/src/login/logind-session.c b/src/login/logind-session.c index 5658ba7c68d..7e8025a0ea2 100644 --- a/src/login/logind-session.c +++ b/src/login/logind-session.c @@ -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); }