summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/ServantManager.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2006-06-21 14:57:38 +0000
committerBenoit Foucher <benoit@zeroc.com>2006-06-21 14:57:38 +0000
commit8acfe1f3c4945ba9411d4cf4f9657b5b26738cf7 (patch)
tree271260bc1ea9b34cdaed3b8182f61ae91801ddcb /cpp/src/Ice/ServantManager.cpp
parentFix for bug #1112 (diff)
downloadice-8acfe1f3c4945ba9411d4cf4f9657b5b26738cf7.tar.bz2
ice-8acfe1f3c4945ba9411d4cf4f9657b5b26738cf7.tar.xz
ice-8acfe1f3c4945ba9411d4cf4f9657b5b26738cf7.zip
Fixed bug 1104
Diffstat (limited to 'cpp/src/Ice/ServantManager.cpp')
-rw-r--r--cpp/src/Ice/ServantManager.cpp24
1 files changed, 21 insertions, 3 deletions
diff --git a/cpp/src/Ice/ServantManager.cpp b/cpp/src/Ice/ServantManager.cpp
index c4c623edcfe..21a49cab273 100644
--- a/cpp/src/Ice/ServantManager.cpp
+++ b/cpp/src/Ice/ServantManager.cpp
@@ -153,7 +153,13 @@ IceInternal::ServantManager::findServant(const Identity& ident, const string& fa
{
IceUtil::Mutex::Lock sync(*this);
- assert(_instance); // Must not be called after destruction.
+ //
+ // This assert is not valid if the adapter dispatch incoming
+ // requests from bidir connections. This method might be called if
+ // requests are received over the bidir connection after the
+ // adapter was deactivated.
+ //
+ //assert(_instance); // Must not be called after destruction.
ServantMapMap::iterator p = _servantMapMapHint;
FacetMap::iterator q;
@@ -208,7 +214,13 @@ IceInternal::ServantManager::hasServant(const Identity& ident) const
{
IceUtil::Mutex::Lock sync(*this);
- assert(_instance); // Must not be called after destruction.
+ //
+ // This assert is not valid if the adapter dispatch incoming
+ // requests from bidir connections. This method might be called if
+ // requests are received over the bidir connection after the
+ // adapter was deactivated.
+ //
+ //assert(_instance); // Must not be called after destruction.
ServantMapMap::iterator p = _servantMapMapHint;
ServantMapMap& servantMapMap = const_cast<ServantMapMap&>(_servantMapMap);
@@ -254,7 +266,13 @@ IceInternal::ServantManager::findServantLocator(const string& category) const
{
IceUtil::Mutex::Lock sync(*this);
- assert(_instance); // Must not be called after destruction.
+ //
+ // This assert is not valid if the adapter dispatch incoming
+ // requests from bidir connections. This method might be called if
+ // requests are received over the bidir connection after the
+ // adapter was deactivated.
+ //
+ //assert(_instance); // Must not be called after destruction.
map<string, ServantLocatorPtr>& locatorMap =
const_cast<map<string, ServantLocatorPtr>&>(_locatorMap);