summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/SessionI.cpp
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2007-11-21 17:58:52 -0500
committerBernard Normier <bernard@zeroc.com>2007-11-21 17:58:52 -0500
commit7826d8dd30b3bbbd3be4c65df8260164a9021798 (patch)
tree415bad61d47d08332f3ea6a377dc95b6dea467f9 /cpp/src/IceGrid/SessionI.cpp
parentAdded AMI call (diff)
downloadice-7826d8dd30b3bbbd3be4c65df8260164a9021798.tar.bz2
ice-7826d8dd30b3bbbd3be4c65df8260164a9021798.tar.xz
ice-7826d8dd30b3bbbd3be4c65df8260164a9021798.zip
Refactored server-properties access/retrieval from IceGrid admin client
Diffstat (limited to 'cpp/src/IceGrid/SessionI.cpp')
-rw-r--r--cpp/src/IceGrid/SessionI.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/cpp/src/IceGrid/SessionI.cpp b/cpp/src/IceGrid/SessionI.cpp
index 44241b8697b..d990aa923d4 100644
--- a/cpp/src/IceGrid/SessionI.cpp
+++ b/cpp/src/IceGrid/SessionI.cpp
@@ -107,9 +107,11 @@ BaseSessionI::keepAlive(const Ice::Current& current)
}
}
-void
+Ice::ConnectionPtr
BaseSessionI::destroyImpl(bool shutdown)
{
+ Ice::ConnectionPtr result = 0;
+
Lock sync(*this);
if(_destroyed)
{
@@ -123,7 +125,7 @@ BaseSessionI::destroyImpl(bool shutdown)
{
if(_servantLocator)
{
- _servantLocator->remove(_identity);
+ result =_servantLocator->remove(_identity);
}
else if(_adapter)
{
@@ -142,6 +144,7 @@ BaseSessionI::destroyImpl(bool shutdown)
Ice::Trace out(_traceLevels->logger, _traceLevels->sessionCat);
out << _prefix << " session `" << _id << "' destroyed";
}
+ return result;
}
IceUtil::Time
@@ -284,10 +287,10 @@ SessionI::removeAllocation(const AllocatablePtr& allocatable)
_allocations.erase(allocatable);
}
-void
+Ice::ConnectionPtr
SessionI::destroyImpl(bool shutdown)
{
- BaseSessionI::destroyImpl(shutdown);
+ Ice::ConnectionPtr con = BaseSessionI::destroyImpl(shutdown);
//
// NOTE: The _requests and _allocations attributes are immutable
@@ -312,6 +315,7 @@ SessionI::destroyImpl(bool shutdown)
}
}
_allocations.clear();
+ return con;
}
ClientSessionFactory::ClientSessionFactory(const Ice::ObjectAdapterPtr& adapter,