summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Klishin <michael@clojurewerkz.org>2015-12-13 02:49:59 +0300
committerMichael Klishin <michael@clojurewerkz.org>2015-12-13 02:49:59 +0300
commit05162cba78c3999d9be5ed833f24e1e34a51fda1 (patch)
treee8bec724e2a13f9f9793130de54bbd2ed8f8e9b3
parent417c14b545c77d4c1d2055d8e21e7ab6c1738843 (diff)
downloadrabbitmq-server-git-05162cba78c3999d9be5ed833f24e1e34a51fda1.tar.gz
Handle queue mode values
-rw-r--r--src/rabbit_priority_queue.erl9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/rabbit_priority_queue.erl b/src/rabbit_priority_queue.erl
index d11e63a15d..b58a8c535e 100644
--- a/src/rabbit_priority_queue.erl
+++ b/src/rabbit_priority_queue.erl
@@ -647,9 +647,12 @@ combine_status(P, New, Old) ->
cse(infinity, _) -> infinity;
cse(_, infinity) -> infinity;
-%% can happen when queue process has just started and has
-%% no data to provide when asked to emit statsV
-cse(default, default) -> infinity;
+%% queue modes
+cse(_, default) -> default;
+cse(default, _) -> default;
+cse(_, lazy) -> lazy;
+cse(lazy, _) -> lazy;
+%% numerical stats
cse(A, B) when is_number(A) -> A + B;
cse({delta, _, _, _}, _) -> {delta, todo, todo, todo};
cse(A, B) -> exit({A, B}).