--- libev/ev_epoll.c 2007/12/05 13:54:36 1.28 +++ libev/ev_epoll.c 2007/12/09 03:51:18 1.31 @@ -42,7 +42,7 @@ (nev & EV_READ ? EPOLLIN : 0) | (nev & EV_WRITE ? EPOLLOUT : 0); - if (epoll_ctl (backend_fd, mode, fd, &ev)) + if (expect_false (epoll_ctl (backend_fd, mode, fd, &ev))) if (errno != ENOENT /* on ENOENT the fd went away, so try to do the right thing */ || (nev && epoll_ctl (backend_fd, EPOLL_CTL_ADD, fd, &ev))) fd_kill (EV_A_ fd); @@ -54,7 +54,7 @@ int i; int eventcnt = epoll_wait (backend_fd, epoll_events, epoll_eventmax, (int)ceil (timeout * 1000.)); - if (eventcnt < 0) + if (expect_false (eventcnt < 0)) { if (errno != EINTR) syserr ("(libev) epoll_wait"); @@ -89,7 +89,7 @@ fcntl (backend_fd, F_SETFD, FD_CLOEXEC); - backend_fudge = 1e-3; /* needed to compensate for epoll returning early */ + backend_fudge = 0.; /* kernel sources seem to indicate this to be zero */ backend_modify = epoll_modify; backend_poll = epoll_poll;