diff --git a/tests/server/sockfilt.c b/tests/server/sockfilt.c index e29e118714..7009b2585b 100644 --- a/tests/server/sockfilt.c +++ b/tests/server/sockfilt.c @@ -741,6 +741,9 @@ static int select_ws(int nfds, fd_set *readfds, fd_set *writefds, else { wsaevent = WSACreateEvent(); if(wsaevent != WSA_INVALID_EVENT) { + if(wsaevents.lNetworkEvents & FD_WRITE) { + send(wsasock, NULL, 0, 0); /* reset FD_WRITE */ + } error = WSAEventSelect(wsasock, wsaevent, wsaevents.lNetworkEvents); if(error != SOCKET_ERROR) { handles[nfd] = (HANDLE)wsaevent;