summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/AdapterCache.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2010-02-19 18:45:14 +0100
committerBenoit Foucher <benoit@zeroc.com>2010-02-19 18:45:14 +0100
commitea9a8bcfc079175205766491ab217e65536a656f (patch)
tree8dd6cd069f9966bd59d72587052a42195d45cf63 /cpp/src/IceGrid/AdapterCache.cpp
parentadded txt to ICE_LICENSE (diff)
downloadice-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.cpp25
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&)
+ {
+ }
}
}
}