From aee4339d6a1c6d35bac02de290ff919c2c32d95c Mon Sep 17 00:00:00 2001 From: Emile Joubert Date: Wed, 18 Apr 2012 17:34:56 +0100 Subject: Consistency between dropwhile and internal_fetch --- src/rabbit_variable_queue.erl | 8 ++++---- 1 file 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)) -- cgit v1.2.1