ext/libev/ev_select.c in rev-0.2.4 vs ext/libev/ev_select.c in rev-0.3.0

- old
+ new

@@ -138,10 +138,11 @@ { struct timeval tv; int res; int fd_setsize; + EV_RELEASE_CB; tv.tv_sec = (long)timeout; tv.tv_usec = (long)((timeout - (ev_tstamp)tv.tv_sec) * 1e6); #if EV_SELECT_USE_FD_SET fd_setsize = sizeof (fd_set); @@ -164,10 +165,11 @@ fd_setsize = anfdmax < FD_SETSIZE ? anfdmax : FD_SETSIZE; res = select (fd_setsize, (fd_set *)vec_ro, (fd_set *)vec_wo, 0, &tv); #else res = select (vec_max * NFDBITS, (fd_set *)vec_ro, (fd_set *)vec_wo, 0, &tv); #endif + EV_ACQUIRE_CB; if (expect_false (res < 0)) { #if EV_SELECT_IS_WINSOCKET errno = WSAGetLastError (); @@ -278,13 +280,16 @@ vec_eo = ev_malloc (sizeof (fd_set)); #endif #else vec_max = 0; vec_ri = 0; - vec_ri = 0; + vec_ro = 0; + vec_wi = 0; vec_wo = 0; - vec_wo = 0; + #ifdef _WIN32 + vec_eo = 0; + #endif #endif return EVBACKEND_SELECT; } @@ -293,8 +298,11 @@ { ev_free (vec_ri); ev_free (vec_ro); ev_free (vec_wi); ev_free (vec_wo); + #ifdef _WIN32 + ev_free (vec_eo); + #endif }