summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2011-01-09 11:46:20 +0000
committerMatthias Radestock <matthias@rabbitmq.com>2011-01-09 11:46:20 +0000
commit7f3a8b9f8f7bd511c4eecdcac8f555afa1664795 (patch)
tree6c5334c169cc2b4b3bc71c54e041235ec42600d3
parentbfbe15a99662c564daed872b32f2e7a11c8751dd (diff)
downloadrabbitmq-server-git-7f3a8b9f8f7bd511c4eecdcac8f555afa1664795.tar.gz
ensure connections terminate when channel-related processes exit abnormally
When processes related to the channel, such as the writer and limiter, terminate abnormally, the channel_sup terminates the channel process with reason 'shutdown'. The reader musn't treat that as a controlled termination. The other path to a 'shutdown' termination of a channel process is the shutdown of the application. But the reader will be shut down first there since it is started after the channel_sup_sup. Hence it will never see a 'shutdown' termination from a channel in that scenario.
-rw-r--r--src/rabbit_reader.erl2
1 files changed, 0 insertions, 2 deletions
diff --git a/src/rabbit_reader.erl b/src/rabbit_reader.erl
index 74e5fc77b7..6eb88d4148 100644
--- a/src/rabbit_reader.erl
+++ b/src/rabbit_reader.erl
@@ -520,8 +520,6 @@ maybe_close(State) ->
State.
termination_kind(normal) -> controlled;
-termination_kind(shutdown) -> controlled;
-termination_kind({shutdown, _Term}) -> controlled;
termination_kind(_) -> uncontrolled.
handle_frame(Type, 0, Payload,