[systemd-commits] src/fsckd

Lennart Poettering lennart at kemper.freedesktop.org
Mon Mar 9 11:48:35 PDT 2015


 src/fsckd/fsckd.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

New commits:
commit 57b394b50579feeee90a4cb12243d5785a9176a6
Author: Lennart Poettering <lennart at poettering.net>
Date:   Mon Mar 9 19:41:01 2015 +0100

    fsckd: make sure we free the connection event source before we close the connection fd

diff --git a/src/fsckd/fsckd.c b/src/fsckd/fsckd.c
index 4851b92..1415b53 100644
--- a/src/fsckd/fsckd.c
+++ b/src/fsckd/fsckd.c
@@ -77,7 +77,9 @@ typedef struct Manager {
         unsigned n_clients;
 
         int clear;
+
         int connection_fd;
+        sd_event_source *connection_event_source;
 
         FILE *console;
         double percent;
@@ -444,6 +446,7 @@ static void manager_free(Manager *m) {
                 fflush(m->console);
         }
 
+        sd_event_source_unref(m->connection_event_source);
         safe_close(m->connection_fd);
 
         while (m->clients)
@@ -483,7 +486,7 @@ static int manager_new(Manager **ret, int fd) {
                         return -errno;
         }
 
-        r = sd_event_add_io(m->event, NULL, fd, EPOLLIN, manager_new_connection_handler, m);
+        r = sd_event_add_io(m->event, &m->connection_event_source, fd, EPOLLIN, manager_new_connection_handler, m);
         if (r < 0)
                 return r;
 



More information about the systemd-commits mailing list