summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@rabbitmq.com>2011-04-14 14:37:01 +0100
committerMatthew Sackman <matthew@rabbitmq.com>2011-04-14 14:37:01 +0100
commit53d96037d3bd20dd5f5052524fb4e0f1e7366ef0 (patch)
tree82b99eb4ac4c78c16bd09a8aaa1c1d94e2aae742
parent5de4fa2dcc259e068bf5d3767044fd77f9c44f80 (diff)
downloadrabbitmq-server-git-53d96037d3bd20dd5f5052524fb4e0f1e7366ef0.tar.gz
(new head of existing branch bug23831). The direct client links to the rabbit_channel. This is the first time that we have a process linking to the channel which is not the parent of the channel. Consequently, and because the channel has trap_exit turned on, the channel needs to be able to deal with EXIT messages that arrive for it which are not from its parent
-rw-r--r--src/rabbit_channel.erl5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl
index 0c12614cc6..083c5963f2 100644
--- a/src/rabbit_channel.erl
+++ b/src/rabbit_channel.erl
@@ -303,7 +303,10 @@ handle_info({'DOWN', MRef, process, QPid, Reason},
handle_publishing_queue_down(QPid, Reason, State);
{ok, ConsumerTag} ->
handle_consuming_queue_down(MRef, ConsumerTag, State)
- end).
+ end);
+
+handle_info({'EXIT', _Pid, Reason}, State) ->
+ {stop, Reason, State}.
handle_pre_hibernate(State = #ch{stats_timer = StatsTimer}) ->
ok = clear_permission_cache(),