From d7b3fa5c94ba6dda99dfe6c4d2d8f5bfe33e0db6 Mon Sep 17 00:00:00 2001 From: Robert Gemmell Date: Mon, 3 Dec 2012 22:49:11 +0000 Subject: QPID-4489: ensure the IoSender is closed when the IoReceiver closes before a protocol version initiation is received git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1416716 13f79535-47bb-0310-9956-ffa450edef68 --- .../protocol/MultiVersionProtocolEngine.java | 24 +++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'qpid/java') diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngine.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngine.java index c8126b3677..b0465c731e 100755 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngine.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngine.java @@ -573,7 +573,29 @@ public class MultiVersionProtocolEngine implements ServerProtocolEngine public void closed() { - + try + { + _delegate = new ClosedDelegateProtocolEngine(); + if(_logger.isDebugEnabled()) + { + _logger.debug("Connection from " + getRemoteAddress() + " was closed before any protocol version was established."); + } + } + catch(Exception e) + { + //ignore + } + finally + { + try + { + _network.close(); + } + catch(Exception e) + { + //ignore + } + } } public void writerIdle() -- cgit v1.2.1