uloop: fix immediate timeout processing on mac os x
authorFelix Fietkau <nbd@openwrt.org>
Tue, 1 Jan 2013 22:37:17 +0000 (23:37 +0100)
committerFelix Fietkau <nbd@openwrt.org>
Tue, 1 Jan 2013 22:37:22 +0000 (23:37 +0100)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
uloop.c

diff --git a/uloop.c b/uloop.c
index 88e9c814fce0d329a0a6afbef72edeae9e3b2f74..f4f5e023160f3d92fb019a845343e871d196dcb2 100644 (file)
--- a/uloop.c
+++ b/uloop.c
@@ -136,12 +136,12 @@ static void uloop_run_events(int timeout)
        struct timespec ts;
        int nfds, n;
 
-       if (timeout > 0) {
+       if (timeout >= 0) {
                ts.tv_sec = timeout / 1000;
                ts.tv_nsec = (timeout % 1000) * 1000000;
        }
 
-       nfds = kevent(poll_fd, NULL, 0, events, ARRAY_SIZE(events), timeout > 0 ? &ts : NULL);
+       nfds = kevent(poll_fd, NULL, 0, events, ARRAY_SIZE(events), timeout >= 0 ? &ts : NULL);
        for(n = 0; n < nfds; ++n)
        {
                struct uloop_fd *u = events[n].udata;