diff options
Diffstat (limited to 'cpp/src/IceGrid/NodeCache.cpp')
-rw-r--r-- | cpp/src/IceGrid/NodeCache.cpp | 8 |
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"); } |