diff options
| author | Robert Godfrey <rgodfrey@apache.org> | 2014-10-22 20:10:02 +0000 |
|---|---|---|
| committer | Robert Godfrey <rgodfrey@apache.org> | 2014-10-22 20:10:02 +0000 |
| commit | 8a77fc4fc589ad8ba4939134f90a855637269b5c (patch) | |
| tree | 04cd1847f6c2d56285825f3a93093faf2ae46944 /qpid/java | |
| parent | 94e61e729038e79ba6c037452a85dbfb94844d72 (diff) | |
| download | qpid-python-8a77fc4fc589ad8ba4939134f90a855637269b5c.tar.gz | |
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
Diffstat (limited to 'qpid/java')
| -rw-r--r-- | qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngine.java | 19 |
1 files changed, 11 insertions, 8 deletions
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(); + } } } |
