summaryrefslogtreecommitdiff
path: root/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
commite1b10df21d0ccf0705935c053e11a6f97df91785 (patch)
tree93b88ff15ace971e6d9f9b3eb4bef0bac02028e6 /cpp/src
parentbd6444f1b8255a59e79645135b4fef579ef4948b (diff)
downloadqpid-python-e1b10df21d0ccf0705935c053e11a6f97df91785.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/qpid@1361321 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src')
-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 1be388b989..297c5e22a9 100644
--- a/cpp/src/qpid/broker/Link.cpp
+++ b/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));
}