diff options
author | Benoit Foucher <benoit@zeroc.com> | 2008-09-26 14:04:54 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2008-09-26 14:04:54 +0200 |
commit | a3c9dfeead519e87ba197e5e66b1013f39fa4366 (patch) | |
tree | a1bb69cdea16ca854173a2e3241b242aacf1b14e /cpp/src/IceGrid/Allocatable.cpp | |
parent | Fixed locator potential hang when resolving round-robin replica group which c... (diff) | |
download | ice-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/Allocatable.cpp')
-rw-r--r-- | cpp/src/IceGrid/Allocatable.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/cpp/src/IceGrid/Allocatable.cpp b/cpp/src/IceGrid/Allocatable.cpp index e078564d5a5..666d7c84cb7 100644 --- a/cpp/src/IceGrid/Allocatable.cpp +++ b/cpp/src/IceGrid/Allocatable.cpp @@ -38,7 +38,14 @@ AllocationRequest::pending() if(_timeout > 0) { - _session->getTimer()->schedule(this, IceUtil::Time::milliSeconds(_timeout)); + try + { + _session->getTimer()->schedule(this, IceUtil::Time::milliSeconds(_timeout)); + } + catch(const IceUtil::Exception&) + { + // Ignore, timer is destroyed because of shutdown + } } _state = Pending; return true; |