diff options
author | Gordon Sim <gsim@apache.org> | 2008-11-13 12:43:26 +0000 |
---|---|---|
committer | Gordon Sim <gsim@apache.org> | 2008-11-13 12:43:26 +0000 |
commit | bffe6f1b444a321fa20fe387873f605e6c1df92b (patch) | |
tree | ed07036e5e330b6cba7908272452d3b9006aa801 /cpp | |
parent | 45b4ce55e9bb52f9d753b9e61ec19f07dc9f5009 (diff) | |
download | qpid-python-bffe6f1b444a321fa20fe387873f605e6c1df92b.tar.gz |
QPID-1414: fix to prevent concurrent modification of brokers known url list
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@713714 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/src/qpid/broker/Broker.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/cpp/src/qpid/broker/Broker.cpp b/cpp/src/qpid/broker/Broker.cpp index 3ba2e70bc2..31f1767f63 100644 --- a/cpp/src/qpid/broker/Broker.cpp +++ b/cpp/src/qpid/broker/Broker.cpp @@ -239,6 +239,13 @@ Broker::Broker(const Broker::Options& conf) : if (conf.queueCleanInterval) { queueCleaner.start(conf.queueCleanInterval * qpid::sys::TIME_SEC); } + + //initialize known broker urls: + try { + knownBrokers.push_back ( qpid::Url::getIpAddressesUrl ( getPort(TCP_TRANSPORT) ) ); + } catch (const NoSuchTransportException& e) { + QPID_LOG(error, "Could not send client known broker urls for cluster: " << e.what()); + } } void Broker::declareStandardExchange(const std::string& name, const std::string& type) @@ -430,13 +437,7 @@ boost::shared_ptr<sys::Poller> Broker::getPoller() { return poller; } std::vector<Url> Broker::getKnownBrokersImpl() { - knownBrokers.clear(); - try { - knownBrokers.push_back ( qpid::Url::getIpAddressesUrl ( getPort(TCP_TRANSPORT) ) ); - } catch (const NoSuchTransportException& e) { - QPID_LOG(error, "Could not send client known broker urls for cluster: " << e.what()); - } - return knownBrokers; + return knownBrokers; } const std::string Broker::TCP_TRANSPORT("tcp"); |