]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
eloop: Fix making the initial event listener
authorRoy Marples <roy@marples.name>
Tue, 9 Jun 2020 16:48:59 +0000 (17:48 +0100)
committerRoy Marples <roy@marples.name>
Tue, 9 Jun 2020 16:48:59 +0000 (17:48 +0100)
src/eloop.c

index 133283d3a5ceb1edf6cd1cf42d9f2dcebef1a626..ae63241eb6b986b3330aa7ee59e9ed5161a42253 100644 (file)
@@ -336,8 +336,13 @@ eloop_event_add_rw(struct eloop *eloop, int fd,
                                return -1;
                }
                TAILQ_INSERT_HEAD(&eloop->events, e, next);
-               e->fd = fd;
                eloop->nevents++;
+               e->fd = fd;
+               e->read_cb = read_cb;
+               e->read_cb_arg = read_cb_arg;
+               e->write_cb = write_cb;
+               e->write_cb_arg = write_cb_arg;
+               goto setup;
        }
 
        if (read_cb) {
@@ -349,6 +354,7 @@ eloop_event_add_rw(struct eloop *eloop, int fd,
                e->write_cb_arg = write_cb_arg;
        }
 
+setup:
        eloop_event_setup_fds(eloop);
        return 0;
 }