summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/NodeCache.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/IceGrid/NodeCache.cpp')
-rw-r--r--cpp/src/IceGrid/NodeCache.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/cpp/src/IceGrid/NodeCache.cpp b/cpp/src/IceGrid/NodeCache.cpp
index b9b8b478243..3e2b67a2025 100644
--- a/cpp/src/IceGrid/NodeCache.cpp
+++ b/cpp/src/IceGrid/NodeCache.cpp
@@ -746,8 +746,12 @@ NodeEntry::__decRef()
void
NodeEntry::checkSession() const
{
- if(_session && !_session->isDestroyed())
+ if(_session)
{
+ if(_session->isDestroyed())
+ {
+ throw NodeUnreachableException(_name, "the node is not active");
+ }
return;
}
else if(!_proxy && !_registering)
@@ -787,7 +791,7 @@ NodeEntry::checkSession() const
}
}
- if(!_session)
+ if(!_session || _session->isDestroyed())
{
throw NodeUnreachableException(_name, "the node is not active");
}