From bffe6f1b444a321fa20fe387873f605e6c1df92b Mon Sep 17 00:00:00 2001 From: Gordon Sim Date: Thu, 13 Nov 2008 12:43:26 +0000 Subject: 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 --- cpp/src/qpid/broker/Broker.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'cpp') 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 Broker::getPoller() { return poller; } std::vector 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"); -- cgit v1.2.1