summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2014-06-17 10:31:26 +0100
committerSimon MacMullen <simon@rabbitmq.com>2014-06-17 10:31:26 +0100
commiteb696ac84024078f5d8137acfa63c1e0ba375f4e (patch)
tree2f4f2ff8110bb7a8aef2cd8ff8921ef5ed69cfd4
parenta6bd7338162a1a0a1c92c5f7411c1ed3dc531dc4 (diff)
parent7546e86e6eedb87736a81e7014cb89eae92581a8 (diff)
downloadrabbitmq-server-git-eb696ac84024078f5d8137acfa63c1e0ba375f4e.tar.gz
Merge bug26221
-rw-r--r--src/rabbit_channel.erl7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl
index 159442707a..bb6265544c 100644
--- a/src/rabbit_channel.erl
+++ b/src/rabbit_channel.erl
@@ -992,7 +992,7 @@ handle_method(#'queue.declare'{queue = QueueNameBin,
QueueName,
fun (Q) -> ok = rabbit_amqqueue:assert_equivalence(
Q, Durable, AutoDelete, Args, Owner),
- rabbit_amqqueue:stat(Q)
+ maybe_stat(NoWait, Q)
end) of
{ok, MessageCount, ConsumerCount} ->
return_queue_declare_ok(QueueName, NoWait, MessageCount,
@@ -1048,7 +1048,7 @@ handle_method(#'queue.declare'{queue = QueueNameBin,
QueueName = rabbit_misc:r(VHostPath, queue, QueueNameBin),
{{ok, MessageCount, ConsumerCount}, #amqqueue{} = Q} =
rabbit_amqqueue:with_or_die(
- QueueName, fun (Q) -> {rabbit_amqqueue:stat(Q), Q} end),
+ QueueName, fun (Q) -> {maybe_stat(NoWait, Q), Q} end),
ok = rabbit_amqqueue:check_exclusive_access(Q, ConnPid),
return_queue_declare_ok(QueueName, NoWait, MessageCount, ConsumerCount,
State);
@@ -1204,6 +1204,9 @@ basic_consume(QueueName, NoAck, ConsumerPrefetch, ActualConsumerTag,
E
end.
+maybe_stat(false, Q) -> rabbit_amqqueue:stat(Q);
+maybe_stat(true, _Q) -> {ok, 0, 0}.
+
consumer_monitor(ConsumerTag,
State = #ch{consumer_mapping = ConsumerMapping,
queue_monitors = QMons,