]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
eloop: Fix epoll for prior
authorRoy Marples <roy@marples.name>
Tue, 11 Nov 2025 11:20:31 +0000 (11:20 +0000)
committerRoy Marples <roy@marples.name>
Tue, 11 Nov 2025 11:20:31 +0000 (11:20 +0000)
src/eloop.c

index bf2e8cff745adbada096853c8ff0b6d8bf7b8b82..c208a82f8767ac894a1afb31f000dab09d58c90f 100644 (file)
@@ -296,6 +296,7 @@ eloop_event_epoll(struct eloop *eloop, struct eloop_event *e,
     unsigned short events)
 {
        struct epoll_event epe;
+       int op;
 
        memset(&epe, 0, sizeof(epe));
        epe.data.ptr = e;
@@ -303,10 +304,10 @@ eloop_event_epoll(struct eloop *eloop, struct eloop_event *e,
                epe.events |= EPOLLIN;
        if (events & ELE_WRITE)
                epe.events |= EPOLLOUT;
-       op = added ? EPOLL_CTL_ADD : EPOLL_CTL_MOD;
-       if (eve.events == 0)
+       op = e->events == 0 ? EPOLL_CTL_ADD : EPOLL_CTL_MOD;
+       if (epe.events == 0)
                return 0;
-       if (epoll_ctl(eloop->fd, op, fd, &epe) == -1)
+       if (epoll_ctl(eloop->fd, op, e->fd, &epe) == -1)
                return -1;
        return 1;
 }