summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Link.cpp
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2008-10-31 04:15:52 +0000
committerTed Ross <tross@apache.org>2008-10-31 04:15:52 +0000
commit35a9035b749126f5de606c4a76299208fb6748ff (patch)
tree1dbc3220d6eca8bb262a5508d85df79ff65da4ee /cpp/src/qpid/broker/Link.cpp
parentea0d105aac7f505f67878c56e3230c3b35dfd8ae (diff)
downloadqpid-python-35a9035b749126f5de606c4a76299208fb6748ff.tar.gz
Federation bug-fixes:
1) Locking was added to protect the exchange's vector of bridges. 2) Bridges are now properly torn down when a link is lost. 3) Auto-tracing was improperly assigning tags to federation queues. Also, the federation queue name now uses the broker-id for the destination broker. This makes it easier to determine which queues go to which brokers. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@709342 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/Link.cpp')
-rw-r--r--cpp/src/qpid/broker/Link.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/cpp/src/qpid/broker/Link.cpp b/cpp/src/qpid/broker/Link.cpp
index 5cd976ee08..4f9b8bc104 100644
--- a/cpp/src/qpid/broker/Link.cpp
+++ b/cpp/src/qpid/broker/Link.cpp
@@ -139,8 +139,10 @@ void Link::closed (int, std::string text)
if (state == STATE_OPERATIONAL)
QPID_LOG (warning, "Inter-broker link disconnected from " << host << ":" << port);
- for (Bridges::iterator i = active.begin(); i != active.end(); i++)
+ for (Bridges::iterator i = active.begin(); i != active.end(); i++) {
+ (*i)->cancel();
created.push_back(*i);
+ }
active.clear();
if (state != STATE_FAILED)