summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2011-11-15 11:55:03 +0000
committerSimon MacMullen <simon@rabbitmq.com>2011-11-15 11:55:03 +0000
commit4818e1ee1a2c2510d03fb7aa53d170290c31b6bd (patch)
tree5c572663a5b7dd20f9414bc7fbf01e5c401caaf7
parent2b9a7d2205d6f6de86df494a1b2e2209232d093b (diff)
downloadrabbitmq-server-4818e1ee1a2c2510d03fb7aa53d170290c31b6bd.tar.gz
If we get an explicit channel close we might already be shutting the connection down - in which case we should check if we have no more channels left and close_ok the connection if so.
-rw-r--r--src/rabbit_reader.erl1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/rabbit_reader.erl b/src/rabbit_reader.erl
index b359f7d4..3c21c210 100644
--- a/src/rabbit_reader.erl
+++ b/src/rabbit_reader.erl
@@ -281,6 +281,7 @@ handle_other({conserve_memory, Conserve}, Deb, State) ->
handle_other({channel_closing, ChPid}, Deb, State) ->
ok = rabbit_channel:ready_for_close(ChPid),
channel_cleanup(ChPid),
+ maybe_close(State),
mainloop(Deb, State);
handle_other({'EXIT', Parent, Reason}, _Deb, State = #v1{parent = Parent}) ->
terminate(io_lib:format("broker forced connection closure "