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
}