mirror of
https://github.com/moparisthebest/curl
synced 2024-08-13 17:03:50 -04:00
sockfilt: avoid getting stuck waiting for writable socket
Reset FD_WRITE event using the same approach as in multi.c
Follow up to b36442b243
Closes #6992
This commit is contained in:
parent
5a1ec19fda
commit
b9239e0f9c
@ -741,6 +741,9 @@ static int select_ws(int nfds, fd_set *readfds, fd_set *writefds,
|
|||||||
else {
|
else {
|
||||||
wsaevent = WSACreateEvent();
|
wsaevent = WSACreateEvent();
|
||||||
if(wsaevent != WSA_INVALID_EVENT) {
|
if(wsaevent != WSA_INVALID_EVENT) {
|
||||||
|
if(wsaevents.lNetworkEvents & FD_WRITE) {
|
||||||
|
send(wsasock, NULL, 0, 0); /* reset FD_WRITE */
|
||||||
|
}
|
||||||
error = WSAEventSelect(wsasock, wsaevent, wsaevents.lNetworkEvents);
|
error = WSAEventSelect(wsasock, wsaevent, wsaevents.lNetworkEvents);
|
||||||
if(error != SOCKET_ERROR) {
|
if(error != SOCKET_ERROR) {
|
||||||
handles[nfd] = (HANDLE)wsaevent;
|
handles[nfd] = (HANDLE)wsaevent;
|
||||||
|
Loading…
Reference in New Issue
Block a user