--- libev/ev_select.c 2009/01/06 19:46:56 1.40 +++ libev/ev_select.c 2009/01/07 17:54:57 1.41 @@ -72,14 +72,14 @@ { #if EV_SELECT_USE_FD_SET - assert (("libev: fd >= FD_SETSIZE passed to fd_set-based select backend", fd < FD_SETSIZE)); - #if EV_SELECT_IS_WINSOCKET SOCKET handle = anfds [fd].handle; #else int handle = fd; #endif + assert (("libev: fd >= FD_SETSIZE passed to fd_set-based select backend", fd < FD_SETSIZE)); + /* FD_SET is broken on windows (it adds the fd to a set twice or more, * which eventually leads to overflows). Need to call it only on changes. */