Browse Source

*** empty log message ***

master
Marc Alexander Lehmann 10 years ago
parent
commit
0d3ddd7e24
  1. 37
      ev.c

37
ev.c

@ -976,6 +976,31 @@ fd_reify (EV_P)
{
int i;
#if EV_SELECT_IS_WINSOCKET || EV_USE_IOCP
for (i = 0; i < fdchangecnt; ++i)
{
int fd = fdchanges [i];
ANFD *anfd = anfds + fd;
if (anfd->reify & EV__IOFDSET)
{
SOCKET handle = EV_FD_TO_WIN32_HANDLE (fd);
if (handle != anfd->handle)
{
unsigned long arg;
assert (("libev: only socket fds supported in this configuration", ioctlsocket (handle, FIONREAD, &arg) == 0));
/* handle changed, but fd didn't - we need to do it in two steps */
backend_modify (EV_A_ fd, anfd->events, 0);
anfd->events = 0;
anfd->handle = handle;
}
}
}
#endif
for (i = 0; i < fdchangecnt; ++i)
{
int fd = fdchanges [i];
@ -987,16 +1012,6 @@ fd_reify (EV_P)
anfd->reify = 0;
#if EV_SELECT_IS_WINSOCKET || EV_USE_IOCP
if (o_reify & EV__IOFDSET)
{
unsigned long arg;
anfd->handle = EV_FD_TO_WIN32_HANDLE (fd);
assert (("libev: only socket fds supported in this configuration", ioctlsocket (anfd->handle, FIONREAD, &arg) == 0));
printf ("oi %d %x\n", fd, anfd->handle);//D
}
#endif
/*if (expect_true (o_reify & EV_ANFD_REIFY)) probably a deoptimisation */
{
anfd->events = 0;
@ -2195,7 +2210,7 @@ timers_reify (EV_P)
#if EV_PERIODIC_ENABLE
inline_speed
inline_speed void
periodic_recalc (EV_P_ ev_periodic *w)
{
/* TODO: use slow but potentially more correct incremental algo, */

Loading…
Cancel
Save