From: Roy Marples Date: Wed, 15 Jul 2026 15:59:24 +0000 (+0100) Subject: Fix eloop better X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fheads%2Fcontrol;p=thirdparty%2Fdhcpcd.git Fix eloop better --- diff --git a/src/eloop.c b/src/eloop.c index 3880388b..70090551 100644 --- a/src/eloop.c +++ b/src/eloop.c @@ -236,6 +236,7 @@ eloop_event_count(const struct eloop *eloop) static int eloop_signal_kqueue(struct eloop *eloop, const int *signals, size_t nsignals) { + unsigned short cmd = nsignals == 0 ? EV_DELETE : EV_ADD; struct kevent *ke, *kep; size_t i; int err; @@ -252,8 +253,8 @@ eloop_signal_kqueue(struct eloop *eloop, const int *signals, size_t nsignals) return -1; for (i = 0; i < nsignals; i++) - EV_SET(kep++, (uintptr_t)signals[i], EVFILT_SIGNAL, - nsignals == 0 ? EV_DELETE : EV_ADD, 0, 0, NULL); + EV_SET(kep++, (uintptr_t)signals[i], EVFILT_SIGNAL, cmd, 0, 0, + NULL); err = kevent(eloop->fd, ke, (KEVENT_N)nsignals, NULL, 0, NULL); free(ke);