From 8a77fc4fc589ad8ba4939134f90a855637269b5c Mon Sep 17 00:00:00 2001 From: Robert Godfrey Date: Wed, 22 Oct 2014 20:10:02 +0000 Subject: QPID-6125 : only send close frame if not already closing git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1633706 13f79535-47bb-0310-9956-ffa450edef68 --- .../qpid/server/protocol/v0_8/AMQProtocolEngine.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'qpid/java') diff --git a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngine.java b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngine.java index 8f4f4cdf35..d3f48fc664 100644 --- a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngine.java +++ b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngine.java @@ -853,20 +853,23 @@ public class AMQProtocolEngine implements ServerProtocolEngine, private void closeConnection(int channelId, AMQFrame frame) { - try - { - markChannelAwaitingCloseOk(channelId); - closeSession(); - } - finally + if(!_closing.get()) { try { - writeFrame(frame); + markChannelAwaitingCloseOk(channelId); + closeSession(); } finally { - closeProtocolSession(); + try + { + writeFrame(frame); + } + finally + { + closeProtocolSession(); + } } } -- cgit v1.2.1