summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@lshift.net>2010-05-28 15:36:05 +0100
committerSimon MacMullen <simon@lshift.net>2010-05-28 15:36:05 +0100
commit0c7a4ddb20e37178bb45f8d50104e79f5c569e65 (patch)
treea0326e3a19b4da00e943a0649bea20eaa3c87c55
parent1dcc251bb05c8d979ae8b21eafbedb7166812823 (diff)
downloadrabbitmq-server-0c7a4ddb20e37178bb45f8d50104e79f5c569e65.tar.gz
Cherry-pick the queue-exclusivity-on-basic.get thing from amqp_0_9_1.
-rw-r--r--src/rabbit_channel.erl4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl
index e915c7b3..f4254aa6 100644
--- a/src/rabbit_channel.erl
+++ b/src/rabbit_channel.erl
@@ -453,11 +453,13 @@ handle_method(#'basic.ack'{delivery_tag = DeliveryTag,
handle_method(#'basic.get'{queue = QueueNameBin,
no_ack = NoAck},
_, State = #ch{ writer_pid = WriterPid,
+ reader_pid = ReaderPid,
next_tag = DeliveryTag }) ->
QueueName = expand_queue_name_shortcut(QueueNameBin, State),
check_read_permitted(QueueName, State),
- case rabbit_amqqueue:with_or_die(
+ case with_exclusive_access_or_die(
QueueName,
+ ReaderPid,
fun (Q) -> rabbit_amqqueue:basic_get(Q, self(), NoAck) end) of
{ok, MessageCount,
Msg = {_QName, _QPid, _MsgId, Redelivered,