uloop: fix edge trigger handling on mac os x
authorFelix Fietkau <nbd@openwrt.org>
Tue, 18 Jun 2013 07:57:39 +0000 (09:57 +0200)
committerFelix Fietkau <nbd@openwrt.org>
Tue, 18 Jun 2013 09:02:20 +0000 (11:02 +0200)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
uloop.c
uloop.h

diff --git a/uloop.c b/uloop.c
index db8cacde28b79368468b5f3d5e7030e62e299372..37465203cc478f413abde4a833ee3f20ed069d6d 100644 (file)
--- a/uloop.c
+++ b/uloop.c
@@ -181,6 +181,7 @@ static int uloop_fetch_events(int timeout)
 
                if (u->flags & ULOOP_EDGE_DEFER) {
                        u->flags &= ~ULOOP_EDGE_DEFER;
+                       u->flags |= ULOOP_EDGE_TRIGGER;
                        register_kevent(u, u->flags);
                }
        }
diff --git a/uloop.h b/uloop.h
index 1d32c39d62b2f1c849af28eb51861bcc68cd453d..975e40ba0e3c1ae226f061db015e1d9038525a8d 100644 (file)
--- a/uloop.h
+++ b/uloop.h
@@ -56,7 +56,7 @@ struct uloop_fd
        bool error;
        bool registered;
 #ifdef USE_KQUEUE
-       bool flags;
+       uint8_t flags;
 #endif
 };