summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/CommunicatorI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/CommunicatorI.cpp')
-rw-r--r--cpp/src/Ice/CommunicatorI.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/cpp/src/Ice/CommunicatorI.cpp b/cpp/src/Ice/CommunicatorI.cpp
index 6b1c2c1e787..81bf20ddcad 100644
--- a/cpp/src/Ice/CommunicatorI.cpp
+++ b/cpp/src/Ice/CommunicatorI.cpp
@@ -32,8 +32,20 @@ Ice::CommunicatorI::destroy()
if(_instance)
{
+ _serverThreadPool = 0;
+
+ LoggerPtr logger = _instance->logger();
+
_instance->objectAdapterFactory()->shutdown();
_instance->destroy();
+
+ if(_instance->__getRef() > 1)
+ {
+ Warning warn(logger);
+ warn << "memory leak in the Ice core:\n";
+ warn << "IceInteral::Instance is not deleted after Ice::Communicator::destroy()";
+ }
+
_instance = 0;
}
}