--- libev/ev_epoll.c 2012/06/20 12:39:53 1.67 +++ libev/ev_epoll.c 2014/04/25 13:05:39 1.68 @@ -228,7 +228,10 @@ if (anfds [fd].emask & EV_EMASK_EPERM && events) fd_event (EV_A_ fd, events); else - epoll_eperms [i] = epoll_eperms [--epoll_epermcnt]; + { + epoll_eperms [i] = epoll_eperms [--epoll_epermcnt]; + anfds [fd].emask = 0; + } } }