diff options
author | Alexandru Scvortov <alexandru@rabbitmq.com> | 2010-08-25 11:38:07 +0100 |
---|---|---|
committer | Alexandru Scvortov <alexandru@rabbitmq.com> | 2010-08-25 11:38:07 +0100 |
commit | 7324368077c4ad58a0fd0795e9d53d034ec0dff9 (patch) | |
tree | bc2b1bcf39264309ec3db3aa74761a1f66c0b2cb | |
parent | de6542707b5f94157787b1563ce4ba6dcadc216b (diff) | |
download | rabbitmq-server-7324368077c4ad58a0fd0795e9d53d034ec0dff9.tar.gz |
exclusive queues are deleted quickly on unclean connection termination
-rw-r--r-- | src/rabbit_amqqueue_process.erl | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl index e0ededf1..986fd70a 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); |