summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmile Joubert <emile@rabbitmq.com>2012-04-18 17:34:56 +0100
committerEmile Joubert <emile@rabbitmq.com>2012-04-18 17:34:56 +0100
commitaee4339d6a1c6d35bac02de290ff919c2c32d95c (patch)
tree1ac4e36a454e3e7c0a5fc6f17e9078ff636c65a4
parentb63a5c666211f6d57f31dfcc360e245c12381d4a (diff)
downloadrabbitmq-server-bug24874.tar.gz
Consistency between dropwhile and internal_fetchbug24874
-rw-r--r--src/rabbit_variable_queue.erl8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/rabbit_variable_queue.erl b/src/rabbit_variable_queue.erl
index b6b1f7f3..d622642b 100644
--- a/src/rabbit_variable_queue.erl
+++ b/src/rabbit_variable_queue.erl
@@ -591,10 +591,10 @@ dropwhile(Pred, MsgFun, State) ->
{_, State2} = internal_fetch(false, MsgStatus, State1),
dropwhile(Pred, MsgFun, State2);
{true, _} ->
- {{_, _, AckTag, _}, State2} =
- internal_fetch(true, MsgStatus, State1),
- {MsgStatus1, State3} = read_msg(MsgStatus, State2),
- MsgFun(MsgStatus1#msg_status.msg, AckTag),
+ {MsgStatus1, State2} = read_msg(MsgStatus, State1),
+ {{Msg, _, AckTag, _}, State3} =
+ internal_fetch(true, MsgStatus1, State2),
+ MsgFun(Msg, AckTag),
dropwhile(Pred, MsgFun, State3);
{false, _} ->
a(in_r(MsgStatus, State1))