summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/ServantManager.cpp
diff options
context:
space:
mode:
authorMatthew Newhook <matthew@zeroc.com>2014-10-02 16:45:39 -0230
committerMatthew Newhook <matthew@zeroc.com>2014-10-02 16:45:39 -0230
commit4dbbe4e02d903abb8a7c7e234c36e1ba4c1e2291 (patch)
tree2d9c1f2761bdfc78526d2cabbca9c9d5f445a3bd /cpp/src/Ice/ServantManager.cpp
parentICE-5585 call callback from ThreadPool if conneciton already closed (diff)
downloadice-4dbbe4e02d903abb8a7c7e234c36e1ba4c1e2291.tar.bz2
ice-4dbbe4e02d903abb8a7c7e234c36e1ba4c1e2291.tar.xz
ice-4dbbe4e02d903abb8a7c7e234c36e1ba4c1e2291.zip
Cleanup and simplification of OA in C++/Java/C#.
Diffstat (limited to 'cpp/src/Ice/ServantManager.cpp')
-rw-r--r--cpp/src/Ice/ServantManager.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/cpp/src/Ice/ServantManager.cpp b/cpp/src/Ice/ServantManager.cpp
index e4e50a7375f..ba96673ab82 100644
--- a/cpp/src/Ice/ServantManager.cpp
+++ b/cpp/src/Ice/ServantManager.cpp
@@ -444,9 +444,14 @@ IceInternal::ServantManager::destroy()
Ice::LoggerPtr logger;
{
- IceUtil::Mutex::Lock sync(*this);
-
- assert(_instance); // Must not be called after destruction.
+ IceUtil::Mutex::Lock sync(*this);
+ //
+ // If the ServantManager has already been destroyed, we're done.
+ //
+ if(!_instance)
+ {
+ return;
+ }
logger = _instance->initializationData().logger;
servantMapMap.swap(_servantMapMap);