summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp')
-rw-r--r--cpp/src/Ice/ObjectAdapterI.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/cpp/src/Ice/ObjectAdapterI.cpp b/cpp/src/Ice/ObjectAdapterI.cpp
index 8227753a4d4..94cc1baa354 100644
--- a/cpp/src/Ice/ObjectAdapterI.cpp
+++ b/cpp/src/Ice/ObjectAdapterI.cpp
@@ -526,9 +526,13 @@ Ice::ObjectAdapterI::getThreadPool() const
ServantManagerPtr
Ice::ObjectAdapterI::getServantManager() const
{
- IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this);
+ // No mutex lock necessary, _threadPool and _instance are
+ // immutable after creation until they are removed in
+ // waitForDeactivate().
- checkForDeactivation();
+ // Not check for deactivation here!
+
+ assert(_instance); // Must not be called after waitForDeactivate().
return _servantManager;
}