summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/ThreadPool.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/ThreadPool.cpp')
-rw-r--r--cpp/src/Ice/ThreadPool.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/cpp/src/Ice/ThreadPool.cpp b/cpp/src/Ice/ThreadPool.cpp
index df331a3fb26..0f361a6f702 100644
--- a/cpp/src/Ice/ThreadPool.cpp
+++ b/cpp/src/Ice/ThreadPool.cpp
@@ -116,6 +116,14 @@ IceInternal::ThreadPool::~ThreadPool()
{
assert(_destroyed);
+//
+// For some unknown reason, closing sockets below fails under WIN32,
+// with an exception that indicates that WSACleanup() would have been
+// called (error code WSANOTINITIALISED). However, traces show that
+// this is not the case, i.e., at least Ice doesn't call WSACleanup()
+// before the code below.
+//
+#ifndef _WIN32
try
{
closeSocket(_fdIntrWrite);
@@ -126,6 +134,7 @@ IceInternal::ThreadPool::~ThreadPool()
Error out(_instance->logger());
out << "exception in `" << _prefix << "' while calling closeSocket():\n" << ex;
}
+#endif
}
void