]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
Fix eloop better control 680/head
authorRoy Marples <roy@marples.name>
Wed, 15 Jul 2026 15:59:24 +0000 (16:59 +0100)
committerRoy Marples <roy@marples.name>
Wed, 15 Jul 2026 15:59:43 +0000 (16:59 +0100)
src/eloop.c

index 3880388be0f034c73cec459c6f2d61f50f34702d..700905519d9494b1e5d3bffa3e5598d4751f1f60 100644 (file)
@@ -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);