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
commit7938ae607576d43522e9afef551bedfba2153f90 (patch)
tree6c5334c169cc2b4b3bc71c54e041235ec42600d3
parentb7e4bb978ddac088e0151037db35c8cf2fd4667e (diff)
downloadrabbitmq-server-7938ae607576d43522e9afef551bedfba2153f90.tar.gz
ensure connections terminate when channel-related processes exit abnormallybug23661
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 74e5fc77..6eb88d41 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,