X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Ffsckd%2Ffsckd.c;h=dedc828a890b014233a64d6c33dd785dc199dbac;hp=4851b9275889f0981aa59cefa44d889e244b13a1;hb=1952708abb10a47960d9160205e511343894896d;hpb=e78e0674f3ec8512370110383889848dc662639b diff --git a/src/fsckd/fsckd.c b/src/fsckd/fsckd.c index 4851b9275..dedc828a8 100644 --- a/src/fsckd/fsckd.c +++ b/src/fsckd/fsckd.c @@ -77,9 +77,12 @@ typedef struct Manager { unsigned n_clients; int clear; + int connection_fd; + sd_event_source *connection_event_source; FILE *console; + double percent; int numdevices; @@ -444,6 +447,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 +487,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;