diff options
author | Matthias Radestock <matthias@rabbitmq.com> | 2011-01-09 11:46:20 +0000 |
---|---|---|
committer | Matthias Radestock <matthias@rabbitmq.com> | 2011-01-09 11:46:20 +0000 |
commit | 7938ae607576d43522e9afef551bedfba2153f90 (patch) | |
tree | 6c5334c169cc2b4b3bc71c54e041235ec42600d3 | |
parent | b7e4bb978ddac088e0151037db35c8cf2fd4667e (diff) | |
download | rabbitmq-server-bug23661.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.erl | 2 |
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, |