aboutsummaryrefslogtreecommitdiff
path: root/src/netbase.cpp
diff options
context:
space:
mode:
authorWladimir J. van der Laan <[email protected]>2015-07-20 16:54:18 +0200
committerWladimir J. van der Laan <[email protected]>2015-07-20 16:54:28 +0200
commit1a2de3237fc06a97dd83ab12759c57d83db370ef (patch)
tree41e95768db9f2aa7314fa3f898239c5c1d3e5e74 /src/netbase.cpp
parentMerge pull request #6447 (diff)
parentTest whether created sockets are select()able (diff)
downloaddiscoin-1a2de3237fc06a97dd83ab12759c57d83db370ef.tar.xz
discoin-1a2de3237fc06a97dd83ab12759c57d83db370ef.zip
Merge pull request #6412
d422f9b Test whether created sockets are select()able (Pieter Wuille)
Diffstat (limited to 'src/netbase.cpp')
-rw-r--r--src/netbase.cpp3
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);