diff options
author | Benoit Foucher <benoit@zeroc.com> | 2010-02-19 18:45:14 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2010-02-19 18:45:14 +0100 |
commit | ea9a8bcfc079175205766491ab217e65536a656f (patch) | |
tree | 8dd6cd069f9966bd59d72587052a42195d45cf63 /cpp/src/IceGrid/AdapterCache.cpp | |
parent | added txt to ICE_LICENSE (diff) | |
download | ice-ea9a8bcfc079175205766491ab217e65536a656f.tar.bz2 ice-ea9a8bcfc079175205766491ab217e65536a656f.tar.xz ice-ea9a8bcfc079175205766491ab217e65536a656f.zip |
Fixed bug 4677 - IceGrid update hang
Diffstat (limited to 'cpp/src/IceGrid/AdapterCache.cpp')
-rw-r--r-- | cpp/src/IceGrid/AdapterCache.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/cpp/src/IceGrid/AdapterCache.cpp b/cpp/src/IceGrid/AdapterCache.cpp index 678beb9eb05..421d841d465 100644 --- a/cpp/src/IceGrid/AdapterCache.cpp +++ b/cpp/src/IceGrid/AdapterCache.cpp @@ -229,6 +229,19 @@ ServerAdapterEntry::ServerAdapterEntry(AdapterCache& cache, { } +bool +ServerAdapterEntry::addSyncCallback(const SynchronizationCallbackPtr& callback) +{ + try + { + return _server->addSyncCallback(callback); + } + catch(const ServerNotExistException&) + { + throw AdapterNotExistException(_id); + } +} + void ServerAdapterEntry::getLocatorAdapterInfo(LocatorAdapterInfoSeq& adapters, int& nReplicas, bool& replicaGroup, bool& roundRobin, const set<string>&) @@ -278,6 +291,9 @@ ServerAdapterEntry::getAdapterInfo() const { info.proxy = _server->getAdapter(_id, true)->getDirectProxy(); } + catch(const SynchronizationException&) + { + } catch(const Ice::Exception&) { } @@ -319,6 +335,12 @@ ReplicaGroupEntry::ReplicaGroupEntry(AdapterCache& cache, update(policy); } +bool +ReplicaGroupEntry::addSyncCallback(const SynchronizationCallbackPtr&) +{ + return false; +} + void ReplicaGroupEntry::addReplica(const string& replicaId, const ServerAdapterEntryPtr& adapter) { @@ -466,6 +488,9 @@ ReplicaGroupEntry::getLocatorAdapterInfo(LocatorAdapterInfoSeq& adapters, int& n catch(const DeploymentException&) { } + catch(const SynchronizationException&) + { + } } } } |