summaryrefslogtreecommitdiff
path: root/ev_epoll.c
diff options
context:
space:
mode:
authorroot <root>2010-04-21 13:13:17 +0000
committerroot <root>2010-04-21 13:13:17 +0000
commit66262f3aa28b34b483430dbe9250966274a4cb06 (patch)
tree6e552f31d90f016a261ed976f0feee94b7ac93c8 /ev_epoll.c
parentad3342e3bd3fd76f87dbed6c184742438d38e6a2 (diff)
*** empty log message ***
Diffstat (limited to 'ev_epoll.c')
-rw-r--r--ev_epoll.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ev_epoll.c b/ev_epoll.c
index a324691..c738fd0 100644
--- a/ev_epoll.c
+++ b/ev_epoll.c
@@ -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))