diff options
| author | Pieter Wuille <[email protected]> | 2015-07-09 18:23:27 -0400 |
|---|---|---|
| committer | Pieter Wuille <[email protected]> | 2015-07-10 12:05:09 -0400 |
| commit | d422f9b1fdb42a51aadaa1bbc157542dca2feb17 (patch) | |
| tree | baca8c375b2e39e5fac9669adfe117c25bec682e /src/netbase.cpp | |
| parent | Merge pull request #5486 (diff) | |
| download | discoin-d422f9b1fdb42a51aadaa1bbc157542dca2feb17.tar.xz discoin-d422f9b1fdb42a51aadaa1bbc157542dca2feb17.zip | |
Test whether created sockets are select()able
Diffstat (limited to 'src/netbase.cpp')
| -rw-r--r-- | src/netbase.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/netbase.cpp b/src/netbase.cpp index c9fc7d67f..b7e2e5791 100644 --- a/src/netbase.cpp +++ b/src/netbase.cpp @@ -266,6 +266,9 @@ bool static InterruptibleRecv(char* data, size_t len, int timeout, SOCKET& hSock } else { // Other error or blocking int nErr = WSAGetLastError(); if (nErr == WSAEINPROGRESS || nErr == WSAEWOULDBLOCK || nErr == WSAEINVAL) { + if (!IsSelectableSocket(hSocket)) { + return false; + } struct timeval tval = MillisToTimeval(std::min(endTime - curTime, maxWait)); fd_set fdset; FD_ZERO(&fdset); |