summaryrefslogtreecommitdiff
path: root/src
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
commitd6878f2eb30e5a7a26348812a86e725fdc2ba921 (patch)
tree5c572663a5b7dd20f9414bc7fbf01e5c401caaf7 /src
parentd3dafe16fc23aed0483463644e8adaf106e68674 (diff)
downloadrabbitmq-server-git-d6878f2eb30e5a7a26348812a86e725fdc2ba921.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.
Diffstat (limited to 'src')
-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 b359f7d452..3c21c2100c 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 "