diff options
author | root <root> | 2010-04-21 13:13:17 +0000 |
---|---|---|
committer | root <root> | 2010-04-21 13:13:17 +0000 |
commit | 66262f3aa28b34b483430dbe9250966274a4cb06 (patch) | |
tree | 6e552f31d90f016a261ed976f0feee94b7ac93c8 | |
parent | ad3342e3bd3fd76f87dbed6c184742438d38e6a2 (diff) |
*** empty log message ***
-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)) |