--- libev/ev_kqueue.c 2007/11/06 00:52:33 1.10 +++ libev/ev_kqueue.c 2007/11/06 01:17:16 1.11 @@ -185,15 +185,10 @@ static void kqueue_fork (EV_P) { - for (;;) - { - kqueue_fd = kqueue (); + close (kqueue_fd); - if (kqueue_fd >= 0) - break; - - syserr ("(libev) kqueue"); - } + while ((kqueue_fd = kqueue ()) < 0) + syserr ("(libev) kqueue"); fcntl (kqueue_fd, F_SETFD, FD_CLOEXEC);