From e8a50af96ef0aa7b09f1371e29fe5d3ec0be006f 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/qpid@1416716 13f79535-47bb-0310-9956-ffa450edef68 --- .../protocol/MultiVersionProtocolEngine.java | 24 +++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'java') diff --git a/java/broker/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngine.java b/java/broker/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngine.java index c8126b3677..b0465c731e 100755 --- a/java/broker/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngine.java +++ b/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