From: Roy Marples Date: Tue, 11 Nov 2025 11:20:31 +0000 (+0000) Subject: eloop: Fix epoll for prior X-Git-Tag: v10.3.0~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0c26b5715d027df67675ed02d5464503d6f4de8a;p=thirdparty%2Fdhcpcd.git eloop: Fix epoll for prior --- diff --git a/src/eloop.c b/src/eloop.c index bf2e8cff..c208a82f 100644 --- a/src/eloop.c +++ b/src/eloop.c @@ -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; }