diff options
| author | Simon MacMullen <simon@rabbitmq.com> | 2013-06-28 16:37:47 +0100 |
|---|---|---|
| committer | Simon MacMullen <simon@rabbitmq.com> | 2013-06-28 16:37:47 +0100 |
| commit | 104c8c8931d9258dd0aba9cffb8f6f4387625b51 (patch) | |
| tree | d71d03c93048efbc320d76e4b5ed834e4779a9ab | |
| parent | 2603ee565e09d196b4b24ce0bd88c84d721249df (diff) | |
| download | rabbitmq-server-git-104c8c8931d9258dd0aba9cffb8f6f4387625b51.tar.gz | |
Oops
| -rw-r--r-- | src/priority_queue.erl | 1 | ||||
| -rw-r--r-- | src/rabbit_amqqueue_process.erl | 3 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/priority_queue.erl b/src/priority_queue.erl index 572bca95ee..8ded389b7a 100644 --- a/src/priority_queue.erl +++ b/src/priority_queue.erl @@ -212,6 +212,7 @@ fold(Fun, Init, Q) -> case out_p(Q) of {{value, V, P}, Q1} -> fold(Fun, Fun(V, P, Init), Q1) end. +highest({queue, [], [], 0}) -> exit(highest_priority_of_empty_queue); highest({queue, _, _, _}) -> 0; highest({pqueue, [{P, _} | _]}) -> maybe_negate_priority(P). diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl index 60b56aeb07..dc2a7a3f17 100644 --- a/src/rabbit_amqqueue_process.erl +++ b/src/rabbit_amqqueue_process.erl @@ -550,7 +550,8 @@ notify_federation(#q{q = Q, false -> rabbit_federation_queue:stop(Q) end. -active_unfederated(Cs) -> priority_queue:highest(Cs) >= 0. +active_unfederated(Cs) -> + not priority_queue:is_empty(Cs) andalso priority_queue:highest(Cs) >= 0. consumer_priority({_ChPid, #consumer{args = Args}}) -> case rabbit_misc:table_lookup(Args, <<"x-priority">>) of |
