summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Network.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/Network.cpp')
-rw-r--r--cpp/src/Ice/Network.cpp8
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
}