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
commit009864788c13950c35d313f532b560bf7c7fe5fb (patch)
tree82b99eb4ac4c78c16bd09a8aaa1c1d94e2aae742
parentafa173d431ecc420a20c712cb37f7bee4591124f (diff)
downloadrabbitmq-server-bug23831.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 parentbug23831
-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 0c12614c..083c5963 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(),