summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/NodeSessionManager.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2006-10-20 14:11:37 +0000
committerBenoit Foucher <benoit@zeroc.com>2006-10-20 14:11:37 +0000
commit12d2c541faa3f6a4db3ba58e7f9c8f9c03f947e8 (patch)
tree342dbb435f37e4f64fd1c515fc14fa17cf0e4639 /cpp/src/IceGrid/NodeSessionManager.cpp
parentFix (diff)
downloadice-12d2c541faa3f6a4db3ba58e7f9c8f9c03f947e8.tar.bz2
ice-12d2c541faa3f6a4db3ba58e7f9c8f9c03f947e8.tar.xz
ice-12d2c541faa3f6a4db3ba58e7f9c8f9c03f947e8.zip
Observer fixes
Diffstat (limited to 'cpp/src/IceGrid/NodeSessionManager.cpp')
-rw-r--r--cpp/src/IceGrid/NodeSessionManager.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/cpp/src/IceGrid/NodeSessionManager.cpp b/cpp/src/IceGrid/NodeSessionManager.cpp
index 5823e73a379..7bae899a9bf 100644
--- a/cpp/src/IceGrid/NodeSessionManager.cpp
+++ b/cpp/src/IceGrid/NodeSessionManager.cpp
@@ -140,12 +140,15 @@ NodeSessionKeepAliveThread::createSessionImpl(const InternalRegistryPrx& registr
{
timeout = IceUtil::Time::seconds(t / 2);
}
+ _node->addObserver(_name, session->getObserver());
return session;
}
void
NodeSessionKeepAliveThread::destroySession(const NodeSessionPrx& session)
{
+ _node->removeObserver(_name);
+
try
{
session->destroy();
@@ -473,13 +476,8 @@ NodeSessionManager::createdSession(const NodeSessionPrx& session)
if(session)
{
session->loadServers();
- _node->setObserver(session->getObserver());
_node->checkConsistency(session);
}
- else
- {
- _node->setObserver(0);
- }
}
catch(const Ice::LocalException&)
{