--- libev/ev_select.c 2009/01/07 20:45:52 1.42 +++ libev/ev_select.c 2009/07/09 09:11:20 1.43 @@ -140,6 +140,7 @@ int res; int fd_setsize; + if (expect_false (suspend_cb)) suspend_cb (EV_A); tv.tv_sec = (long)timeout; tv.tv_usec = (long)((timeout - (ev_tstamp)tv.tv_sec) * 1e6); @@ -166,6 +167,7 @@ #else res = select (vec_max * NFDBITS, (fd_set *)vec_ro, (fd_set *)vec_wo, 0, &tv); #endif + if (expect_false (resume_cb)) resume_cb (EV_A); if (expect_false (res < 0)) {