summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2012-12-03 22:49:11 +0000
committerRobert Gemmell <robbie@apache.org>2012-12-03 22:49:11 +0000
commitd7b3fa5c94ba6dda99dfe6c4d2d8f5bfe33e0db6 (patch)
treeb51d9c26eab7f185b45ebbed02d80c850a1ee12a /qpid/java
parentce2bf7e9cc3a5892a3d2c15dc11a255dc82de393 (diff)
downloadqpid-python-d7b3fa5c94ba6dda99dfe6c4d2d8f5bfe33e0db6.tar.gz
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
Diffstat (limited to 'qpid/java')
-rwxr-xr-xqpid/java/broker/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngine.java24
1 files changed, 23 insertions, 1 deletions
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()