diff options
| author | Charles E. Rolke <chug@apache.org> | 2012-11-30 15:55:16 +0000 |
|---|---|---|
| committer | Charles E. Rolke <chug@apache.org> | 2012-11-30 15:55:16 +0000 |
| commit | bc440aaec86121a20f7540e2e4935eb7361c8092 (patch) | |
| tree | 09379262cfdeaf2bc21fe5e676a9a5b900fda509 /cpp/src | |
| parent | 5a162282b448b7cef69a2c52103458f16b3b09d2 (diff) | |
| download | qpid-python-bc440aaec86121a20f7540e2e4935eb7361c8092.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/qpid@1415709 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src')
| -rw-r--r-- | cpp/src/qpid/ha/BrokerReplicator.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/cpp/src/qpid/ha/BrokerReplicator.cpp b/cpp/src/qpid/ha/BrokerReplicator.cpp index 6b88111732..76f7341b4b 100644 --- a/cpp/src/qpid/ha/BrokerReplicator.cpp +++ b/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)); } |
