--- libev/ev_poll.c 2007/11/04 18:29:44 1.5 +++ libev/ev_poll.c 2007/11/04 23:14:11 1.6 @@ -42,6 +42,10 @@ poll_modify (EV_P_ int fd, int oev, int nev) { int idx; + + if (oev == nev) + return; + array_needsize (pollidxs, pollidxmax, fd + 1, pollidx_init); idx = pollidxs [fd];