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 | 50c2ff42295033080ce329cbdcc2b3ce7006cb5a (patch) | |
| tree | bc2b1bcf39264309ec3db3aa74761a1f66c0b2cb /src | |
| parent | a577ecd3f4628eb2758ff29c91fe8680bfbea8a2 (diff) | |
| download | rabbitmq-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.erl | 8 |
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); |
