diff options
author | Benoit Foucher <benoit@zeroc.com> | 2007-01-17 13:20:58 +0000 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2007-01-17 13:20:58 +0000 |
commit | 9ff75a5104445c691aa5d659b88ea289dd6e3a39 (patch) | |
tree | 532b3ef052628d68c57855f8008da37c7dcfe1f2 /cpp/src/IceGrid/Topics.cpp | |
parent | Fixed bug 1674 (diff) | |
download | ice-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.cpp | 25 |
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; } } |