summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@rabbitmq.com>2011-02-10 16:34:08 +0000
committerMatthew Sackman <matthew@rabbitmq.com>2011-02-10 16:34:08 +0000
commit4c3f54da738298c79e3422af63f0c4a343f20d6b (patch)
treee66ccbfc010881f741829be63c7ae20e5c35d098 /src
parent41ddcdf2ee8b174bd5ad3a621e83080e71b0c8f0 (diff)
downloadrabbitmq-server-git-4c3f54da738298c79e3422af63f0c4a343f20d6b.tar.gz
If we receive a channel.close whilst we're closing the channel already (presumably client and server initiated close at the same time), then make sure we still send back the close_ok
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_channel.erl3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl
index 9da29b378e..d5a0ca38a7 100644
--- a/src/rabbit_channel.erl
+++ b/src/rabbit_channel.erl
@@ -548,6 +548,9 @@ handle_method(_Method, _, #ch{state = starting}) ->
handle_method(#'channel.close_ok'{}, _, #ch{state = closing}) ->
stop;
+handle_method(#'channel.close'{}, _, State = #ch{state = closing}) ->
+ {reply, #'channel.close_ok'{}, State};
+
handle_method(_Method, _, State = #ch{state = closing}) ->
{noreply, State};