Author: gsim
Date: Thu Nov 13 04:43:26 2008
New Revision: 713714

URL: http://svn.apache.org/viewvc?rev=713714&view=rev
Log:
QPID-1414: fix to prevent concurrent modification of brokers known url list


Modified:
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp?rev=713714&r1=713713&r2=713714&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp Thu Nov 13 
04:43:26 2008
@@ -239,6 +239,13 @@
     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 @@
 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");


Reply via email to