summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2008-11-13 12:43:26 +0000
committerGordon Sim <gsim@apache.org>2008-11-13 12:43:26 +0000
commitbffe6f1b444a321fa20fe387873f605e6c1df92b (patch)
treeed07036e5e330b6cba7908272452d3b9006aa801 /cpp
parent45b4ce55e9bb52f9d753b9e61ec19f07dc9f5009 (diff)
downloadqpid-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.cpp15
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");