summaryrefslogtreecommitdiff
path: root/qpid/cpp/src
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2012-07-13 18:33:23 +0000
committerAlan Conway <aconway@apache.org>2012-07-13 18:33:23 +0000
commit2e20fb9010a9aa2d3f81cc69540fbe0c3771a394 (patch)
tree51becd12d4fbc8258b74cfafa2ef42a4b350c011 /qpid/cpp/src
parent895f911bea116e3803e42252da364c1ae71b9d17 (diff)
downloadqpid-python-2e20fb9010a9aa2d3f81cc69540fbe0c3771a394.tar.gz
QPID-4133: (Jason Dillaman) Non-responsive peer in federated link can result in entire cluster shutdown
Fix is to not start link processing until the connection is open. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1361321 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src')
-rw-r--r--qpid/cpp/src/qpid/broker/Link.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/qpid/cpp/src/qpid/broker/Link.cpp b/qpid/cpp/src/qpid/broker/Link.cpp
index 1be388b989..297c5e22a9 100644
--- a/qpid/cpp/src/qpid/broker/Link.cpp
+++ b/qpid/cpp/src/qpid/broker/Link.cpp
@@ -498,7 +498,9 @@ void Link::maintenanceVisit ()
}
}
}
- else if (state == STATE_OPERATIONAL && (!active.empty() || !created.empty() || !cancellations.empty()) && connection != 0)
+ else if (state == STATE_OPERATIONAL &&
+ (!active.empty() || !created.empty() || !cancellations.empty()) &&
+ connection && connection->isOpen())
connection->requestIOProcessing (boost::bind(&Link::ioThreadProcessing, this));
}