diff options
author | Simon MacMullen <simon@lshift.net> | 2010-05-28 15:36:05 +0100 |
---|---|---|
committer | Simon MacMullen <simon@lshift.net> | 2010-05-28 15:36:05 +0100 |
commit | 0c7a4ddb20e37178bb45f8d50104e79f5c569e65 (patch) | |
tree | a0326e3a19b4da00e943a0649bea20eaa3c87c55 | |
parent | 1dcc251bb05c8d979ae8b21eafbedb7166812823 (diff) | |
download | rabbitmq-server-0c7a4ddb20e37178bb45f8d50104e79f5c569e65.tar.gz |
Cherry-pick the queue-exclusivity-on-basic.get thing from amqp_0_9_1.
-rw-r--r-- | src/rabbit_channel.erl | 4 |
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, |