summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/Topics.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2007-01-17 13:20:58 +0000
committerBenoit Foucher <benoit@zeroc.com>2007-01-17 13:20:58 +0000
commit9ff75a5104445c691aa5d659b88ea289dd6e3a39 (patch)
tree532b3ef052628d68c57855f8008da37c7dcfe1f2 /cpp/src/IceGrid/Topics.cpp
parentFixed bug 1674 (diff)
downloadice-9ff75a5104445c691aa5d659b88ea289dd6e3a39.tar.bz2
ice-9ff75a5104445c691aa5d659b88ea289dd6e3a39.tar.xz
ice-9ff75a5104445c691aa5d659b88ea289dd6e3a39.zip
Fixed bug 1671 and other minor fixes
Diffstat (limited to 'cpp/src/IceGrid/Topics.cpp')
-rw-r--r--cpp/src/IceGrid/Topics.cpp25
1 files changed, 14 insertions, 11 deletions
diff --git a/cpp/src/IceGrid/Topics.cpp b/cpp/src/IceGrid/Topics.cpp
index 101ea3473c8..ff87fae0d72 100644
--- a/cpp/src/IceGrid/Topics.cpp
+++ b/cpp/src/IceGrid/Topics.cpp
@@ -276,19 +276,22 @@ RegistryObserverTopic::registryDown(const string& name)
{
return;
}
+
+ if(_registries.find(name) == _registries.end())
+ {
+ return;
+ }
+
updateSerial(_serial + 1);
- if(_registries.find(name) != _registries.end())
+ _registries.erase(name);
+ try
{
- _registries.erase(name);
- try
- {
- _publisher->registryDown(name);
- }
- catch(const Ice::LocalException& ex)
- {
- Ice::Warning out(_logger);
- out << "unexpected exception while publishing `registryDown' update:\n" << ex;
- }
+ _publisher->registryDown(name);
+ }
+ catch(const Ice::LocalException& ex)
+ {
+ Ice::Warning out(_logger);
+ out << "unexpected exception while publishing `registryDown' update:\n" << ex;
}
}