summaryrefslogtreecommitdiff
path: root/qpid/cpp/src
diff options
context:
space:
mode:
authorCharles E. Rolke <chug@apache.org>2012-11-30 15:55:16 +0000
committerCharles E. Rolke <chug@apache.org>2012-11-30 15:55:16 +0000
commit67dd5f7e03147e1e145f8d063b7b443ede02bb2e (patch)
treeca6d93ad4541dd60ea119789c33f8d68851f9532 /qpid/cpp/src
parent8c79ea6f55006f8862fcd7c3ad3ac6d24543fea7 (diff)
downloadqpid-python-67dd5f7e03147e1e145f8d063b7b443ede02bb2e.tar.gz
NO-JIRA: Repair build for Windows VS2010
vector::push_back now has two signatures that confuse boost. Use an explicit callback and do the push_back there. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1415709 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src')
-rw-r--r--qpid/cpp/src/qpid/ha/BrokerReplicator.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/qpid/cpp/src/qpid/ha/BrokerReplicator.cpp b/qpid/cpp/src/qpid/ha/BrokerReplicator.cpp
index 6b88111732..76f7341b4b 100644
--- a/qpid/cpp/src/qpid/ha/BrokerReplicator.cpp
+++ b/qpid/cpp/src/qpid/ha/BrokerReplicator.cpp
@@ -837,6 +837,13 @@ void BrokerReplicator::autoDeleteCheck(boost::shared_ptr<Exchange> ex) {
}
}
+// Callback function for accumulating exchange candidates
+namespace {
+ void exchangeAccumulatorCallback(vector<boost::shared_ptr<Exchange> >& c, const Exchange::shared_ptr& i) {
+ c.push_back(i);
+ }
+}
+
void BrokerReplicator::disconnected() {
QPID_LOG(info, logPrefix << "Disconnected");
connection = 0;
@@ -844,7 +851,7 @@ void BrokerReplicator::disconnected() {
vector<boost::shared_ptr<Exchange> > collect;
// Make a copy so we can work outside the ExchangeRegistry lock
exchanges.eachExchange(
- boost::bind(&vector<boost::shared_ptr<Exchange> >::push_back, ref(collect), _1));
+ boost::bind(&exchangeAccumulatorCallback, boost::ref(collect), _1));
for_each(collect.begin(), collect.end(),
boost::bind(&BrokerReplicator::autoDeleteCheck, this, _1));
}