From dcfea8883711341ee76ca3e394c45ebfd757c4f7 Mon Sep 17 00:00:00 2001 From: "Charles E. Rolke" Date: Wed, 4 Sep 2013 20:27:29 +0000 Subject: NO-JIRA: repair build for VisualStudio 2010 and newer Boost vector::push_back now has two signatures that confuse boost. Use an explicit callback and do the push_back there. This is a replay of r1418544. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1520133 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/cpp/src/qpid/ha/BrokerReplicator.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/qpid/cpp/src/qpid/ha/BrokerReplicator.cpp b/qpid/cpp/src/qpid/ha/BrokerReplicator.cpp index e7a0218dd8..49fdee49d0 100644 --- a/qpid/cpp/src/qpid/ha/BrokerReplicator.cpp +++ b/qpid/cpp/src/qpid/ha/BrokerReplicator.cpp @@ -903,6 +903,13 @@ void BrokerReplicator::disconnectedExchange(boost::shared_ptr ex) { typedef vector > ExchangeVector; +// Callback function for accumulating exchange candidates +namespace { + void exchangeAccumulatorCallback(ExchangeVector& ev, const Exchange::shared_ptr& i) { + ev.push_back(i); + } +} + // Called by ConnectionObserver::disconnected, disconnected from the network side. void BrokerReplicator::disconnected() { QPID_LOG(info, logPrefix << "Disconnected from primary " << primary); @@ -910,7 +917,7 @@ void BrokerReplicator::disconnected() { // Make copy of exchanges so we can work outside the registry lock. ExchangeVector exs; - exchanges.eachExchange(boost::bind(&ExchangeVector::push_back, &exs, _1)); + exchanges.eachExchange(boost::bind(&exchangeAccumulatorCallback, boost::ref(exs), _1)); for_each(exs.begin(), exs.end(), boost::bind(&BrokerReplicator::disconnectedExchange, this, _1)); } -- cgit v1.2.1