summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/NodeCache.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2008-09-26 14:04:54 +0200
committerBenoit Foucher <benoit@zeroc.com>2008-09-26 14:04:54 +0200
commita3c9dfeead519e87ba197e5e66b1013f39fa4366 (patch)
treea1bb69cdea16ca854173a2e3241b242aacf1b14e /cpp/src/IceGrid/NodeCache.cpp
parentFixed locator potential hang when resolving round-robin replica group which c... (diff)
downloadice-a3c9dfeead519e87ba197e5e66b1013f39fa4366.tar.bz2
ice-a3c9dfeead519e87ba197e5e66b1013f39fa4366.tar.xz
ice-a3c9dfeead519e87ba197e5e66b1013f39fa4366.zip
IceGrid fixes to ensure the registry/node don't wait too long if a replica becomes unreachable
Diffstat (limited to 'cpp/src/IceGrid/NodeCache.cpp')
-rw-r--r--cpp/src/IceGrid/NodeCache.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/cpp/src/IceGrid/NodeCache.cpp b/cpp/src/IceGrid/NodeCache.cpp
index 812cb1977df..b9b8b478243 100644
--- a/cpp/src/IceGrid/NodeCache.cpp
+++ b/cpp/src/IceGrid/NodeCache.cpp
@@ -781,7 +781,10 @@ NodeEntry::checkSession() const
while(_registering)
{
- wait();
+ if(!timedWait(IceUtil::Time::seconds(5)))
+ {
+ break; // Consider the node down if it doesn't respond promptly.
+ }
}
if(!_session)