diff options
| -rw-r--r-- | Changes | 2 | ||||
| -rw-r--r-- | ev_epoll.c | 2 | 
2 files changed, 3 insertions, 1 deletions
| @@ -9,6 +9,8 @@ TODO: EV_USE__XXX default with config, document            testcase by Vladimir Timofeev).  	- applied win32 fixes by Michael Lenaghan (also James Mansion).  	- replace EV_MINIMAL by EV_FEATURES. +        - prefer EPOLL_CTL_ADD over EPOLL_CTL_MOD in some more cases, as it +          seems the former is *much* faster than the latter.          - remove dependency on sys/queue.h on freebsd (patch by Vanilla Hsu).          - add (undocumented) EV_ENABLE when adding events with kqueue,            this might help with OS X, which seems to need it despite documenting @@ -90,7 +90,7 @@ epoll_modify (EV_P_ int fd, int oev, int nev)    ev.events   = (nev & EV_READ  ? EPOLLIN  : 0)                | (nev & EV_WRITE ? EPOLLOUT : 0); -  if (expect_true (!epoll_ctl (backend_fd, oev ? EPOLL_CTL_MOD : EPOLL_CTL_ADD, fd, &ev))) +  if (expect_true (!epoll_ctl (backend_fd, oev && oldmask != nev ? EPOLL_CTL_MOD : EPOLL_CTL_ADD, fd, &ev)))      return;    if (expect_true (errno == ENOENT)) | 
