diff options
author | Marc Laukien <marc@zeroc.com> | 2002-07-29 19:38:43 +0000 |
---|---|---|
committer | Marc Laukien <marc@zeroc.com> | 2002-07-29 19:38:43 +0000 |
commit | 6366051efa71bddd18a3d078a487b25631f749ef (patch) | |
tree | 3e557d3b0003822f53f0c77a62fa582ecb3eada3 /cpp/src | |
parent | fixed cyclic dependency (diff) | |
download | ice-6366051efa71bddd18a3d078a487b25631f749ef.tar.bz2 ice-6366051efa71bddd18a3d078a487b25631f749ef.tar.xz ice-6366051efa71bddd18a3d078a487b25631f749ef.zip |
warning
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/Ice/CommunicatorI.cpp | 12 | ||||
-rw-r--r-- | cpp/src/Ice/ConnectionFactory.cpp | 2 |
2 files changed, 14 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; } } diff --git a/cpp/src/Ice/ConnectionFactory.cpp b/cpp/src/Ice/ConnectionFactory.cpp index e2e630dccca..0cd4faa5dc4 100644 --- a/cpp/src/Ice/ConnectionFactory.cpp +++ b/cpp/src/Ice/ConnectionFactory.cpp @@ -234,6 +234,7 @@ IceInternal::OutgoingConnectionFactory::destroy() { return; } + #ifdef _STLP_BEGIN_NAMESPACE // voidbind2nd is an STLport extension for broken compilers in IceUtil/Functional.h for_each(_connections.begin(), _connections.end(), @@ -244,6 +245,7 @@ IceInternal::OutgoingConnectionFactory::destroy() bind2nd(Ice::secondVoidMemFun1<EndpointPtr, Connection, Connection::DestructionReason> (&Connection::destroy), Connection::CommunicatorDestroyed)); #endif + _connections.clear(); _instance = 0; } |