From 35a9035b749126f5de606c4a76299208fb6748ff Mon Sep 17 00:00:00 2001 From: Ted Ross Date: Fri, 31 Oct 2008 04:15:52 +0000 Subject: 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 --- cpp/src/qpid/broker/Link.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'cpp/src/qpid/broker/Link.cpp') 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) -- cgit v1.2.1