summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Link.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2012-06-22 19:28:20 +0000
committerAlan Conway <aconway@apache.org>2012-06-22 19:28:20 +0000
commita18bf3fe8d01832f4ed40533293c3ce1c2012720 (patch)
treec58996c8166bb63850eedcca585b33e2f501ef87 /cpp/src/qpid/broker/Link.cpp
parent4952afa1c6ce3d6cf0e89125ba20279cccd04931 (diff)
downloadqpid-python-a18bf3fe8d01832f4ed40533293c3ce1c2012720.tar.gz
QPID-4078: Fix primary self-connections in long running test.
Assert to detect self-connection were triggered in log runs of ha_tests.py test_failover_send_receive. Fix: - HaBroker close backup link before removing broker-info for outgoing link. - HaBroker removes own address from failover addresses. - Link.cpp: Skip ioThreadProcessing and maintenanceVisit on a link that is closed. - Minor improvements to log messages and comments. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1352999 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/Link.cpp')
-rw-r--r--cpp/src/qpid/broker/Link.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/cpp/src/qpid/broker/Link.cpp b/cpp/src/qpid/broker/Link.cpp
index 1f6e6ac856..1be388b989 100644
--- a/cpp/src/qpid/broker/Link.cpp
+++ b/cpp/src/qpid/broker/Link.cpp
@@ -445,7 +445,7 @@ void Link::ioThreadProcessing()
{
Mutex::ScopedLock mutex(lock);
- if (state != STATE_OPERATIONAL)
+ if (state != STATE_OPERATIONAL || closing)
return;
// check for bridge session errors and recover
@@ -482,7 +482,7 @@ void Link::ioThreadProcessing()
void Link::maintenanceVisit ()
{
Mutex::ScopedLock mutex(lock);
-
+ if (closing) return;
if (state == STATE_WAITING)
{
visitCount++;
@@ -500,7 +500,7 @@ void Link::maintenanceVisit ()
}
else if (state == STATE_OPERATIONAL && (!active.empty() || !created.empty() || !cancellations.empty()) && connection != 0)
connection->requestIOProcessing (boost::bind(&Link::ioThreadProcessing, this));
- }
+}
void Link::reconnectLH(const Address& a)
{