diff options
author | Benoit Foucher <benoit@zeroc.com> | 2008-10-23 18:13:24 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2008-10-23 18:13:24 +0200 |
commit | ad3522c882b1e2b889ac2a2c60e189e9f89f3b80 (patch) | |
tree | 2960cc1f1b4741ba864393eb02046b6834db05e5 /cpp/src/IceGrid/NodeCache.cpp | |
parent | Forgot to commit one file for previous fix (diff) | |
download | ice-ad3522c882b1e2b889ac2a2c60e189e9f89f3b80.tar.bz2 ice-ad3522c882b1e2b889ac2a2c60e189e9f89f3b80.tar.xz ice-ad3522c882b1e2b889ac2a2c60e189e9f89f3b80.zip |
Fixed locator implementation to not serialize anymore locator request for non round-robin replica groups also fixed an issue where the registry would try to re-activate servers while the node is shutting down
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"); } |