From d9ff8e43999e4c59d4092064a6e2c80773534864 Mon Sep 17 00:00:00 2001 From: Michael Goulish Date: Fri, 16 Dec 2011 13:40:58 +0000 Subject: QPID-3438 fix cluster causing cnx leak when bad credentials are given in login attempt. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1215127 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/cluster/Cluster.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'cpp/src/qpid/cluster/Cluster.cpp') diff --git a/cpp/src/qpid/cluster/Cluster.cpp b/cpp/src/qpid/cluster/Cluster.cpp index 40bfcd9285..3c1d23c842 100644 --- a/cpp/src/qpid/cluster/Cluster.cpp +++ b/cpp/src/qpid/cluster/Cluster.cpp @@ -383,12 +383,21 @@ void Cluster::erase(const ConnectionId& id) { erase(id,l); } +void Cluster::eraseLocal(const ConnectionId& id) { + Lock l(lock); + eraseLocal(id,l); +} + // Called by Connection::deliverClose() in deliverFrameQueue thread. void Cluster::erase(const ConnectionId& id, Lock&) { connections.erase(id); decoder.erase(id); } +void Cluster::eraseLocal(const ConnectionId& id, Lock&) { + localConnections.getErase(id); +} + std::vector Cluster::getIds() const { Lock l(lock); return getIds(l); -- cgit v1.2.1