diff options
Diffstat (limited to 'cpp/src/Ice/Network.cpp')
-rw-r--r-- | cpp/src/Ice/Network.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/cpp/src/Ice/Network.cpp b/cpp/src/Ice/Network.cpp index 6b20964273c..326c599b89b 100644 --- a/cpp/src/Ice/Network.cpp +++ b/cpp/src/Ice/Network.cpp @@ -232,8 +232,6 @@ IceInternal::createSocket(bool udp) throw ex; } - setBlock(fd, false); - if (!udp) { setTcpNoDelay(fd); @@ -674,6 +672,7 @@ IceInternal::createPipe(SOCKET fds[2]) #ifdef _WIN32 SOCKET fd = createSocket(false); + setBlock(fd, true); struct sockaddr_in addr; memset(&addr, 0, sizeof(addr)); @@ -687,6 +686,7 @@ IceInternal::createPipe(SOCKET fds[2]) try { fds[0] = createSocket(false); + setBlock(fds[0], true); } catch(...) { @@ -698,6 +698,7 @@ IceInternal::createPipe(SOCKET fds[2]) { doConnect(fds[0], addr, -1); fds[1] = doAccept(fd, -1); + setBlock(fds[1], true); } catch(...) { @@ -717,6 +718,9 @@ IceInternal::createPipe(SOCKET fds[2]) throw ex; } + setBlock(fds[0], true); + setBlock(fds[1], true); + #endif } |