summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexandru Scvortov <alexandru@rabbitmq.com>2010-08-25 11:38:07 +0100
committerAlexandru Scvortov <alexandru@rabbitmq.com>2010-08-25 11:38:07 +0100
commit50c2ff42295033080ce329cbdcc2b3ce7006cb5a (patch)
treebc2b1bcf39264309ec3db3aa74761a1f66c0b2cb /src
parenta577ecd3f4628eb2758ff29c91fe8680bfbea8a2 (diff)
downloadrabbitmq-server-git-50c2ff42295033080ce329cbdcc2b3ce7006cb5a.tar.gz
exclusive queues are deleted quickly on unclean connection termination
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_amqqueue_process.erl8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl
index e0ededf112..986fd70af7 100644
--- a/src/rabbit_amqqueue_process.erl
+++ b/src/rabbit_amqqueue_process.erl
@@ -43,7 +43,7 @@
-export([init/1, terminate/2, code_change/3, handle_call/3, handle_cast/2,
handle_info/2, handle_pre_hibernate/1, prioritise_call/3,
- prioritise_cast/2]).
+ prioritise_cast/2, prioritise_info/2]).
-import(queue).
-import(erlang).
@@ -617,6 +617,12 @@ prioritise_cast(Msg, _State) ->
_ -> 0
end.
+prioritise_info({'DOWN', _MonitorRef, process, DownPid, _Reason},
+ State = #q{q = #amqqueue{exclusive_owner = DownPid}}) ->
+ 9;
+prioritise_info(_Msg, _State) ->
+ 0.
+
handle_call({init, Recover}, From,
State = #q{q = #amqqueue{exclusive_owner = none}}) ->
declare(Recover, From, State);