summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2012-12-04 20:08:07 +0000
committerRobert Gemmell <robbie@apache.org>2012-12-04 20:08:07 +0000
commit615591405aab9b974032f20f388f435bbab4fa8b (patch)
tree359dde739458761d35ee7d1170bed51029e21f10
parentf223632243ebe462ec9403fe4b04d7ef0618a3cb (diff)
downloadqpid-python-615591405aab9b974032f20f388f435bbab4fa8b.tar.gz
QPID-4489: ensure the IoSender is closed when the IoReceiver closes before a protocol version initiation is received
merge from trunk r1416716 git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.20@1417145 13f79535-47bb-0310-9956-ffa450edef68
-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()