X-Git-Url: https://git.llucax.com/software/libev.git/blobdiff_plain/8553fca83a98588576f88cd1b1942ae6d3d6ab43..4ce77a5b1de05dae6092eae478b2a4397173d9c3:/ev_epoll.c?ds=sidebyside diff --git a/ev_epoll.c b/ev_epoll.c index 38fd304..bb56218 100644 --- a/ev_epoll.c +++ b/ev_epoll.c @@ -42,7 +42,7 @@ epoll_modify (EV_P_ int fd, int oev, int nev) (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 @@ epoll_poll (EV_P_ ev_tstamp timeout) 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 @@ epoll_init (EV_P_ int flags) 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;