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 | 7f3a8b9f8f7bd511c4eecdcac8f555afa1664795 (patch) | |
| tree | 6c5334c169cc2b4b3bc71c54e041235ec42600d3 | |
| parent | bfbe15a99662c564daed872b32f2e7a11c8751dd (diff) | |
| download | rabbitmq-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.erl | 2 |
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, |
