summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexandru Scvortov <alexandru@rabbitmq.com>2012-01-24 18:50:22 +0000
committerAlexandru Scvortov <alexandru@rabbitmq.com>2012-01-24 18:50:22 +0000
commit9f1793492d497a5dda19c5685228b38a8ea29410 (patch)
treef55c31417924cf9ccddaf80a88ccbb260f78f128 /src
parentead2f76803c9a3baa6f0b2e15af73cfda15d3d62 (diff)
downloadrabbitmq-server-git-9f1793492d497a5dda19c5685228b38a8ea29410.tar.gz
don't discard accumulated changes
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_variable_queue.erl10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/rabbit_variable_queue.erl b/src/rabbit_variable_queue.erl
index 92c650272f..83af5ddd66 100644
--- a/src/rabbit_variable_queue.erl
+++ b/src/rabbit_variable_queue.erl
@@ -654,11 +654,11 @@ ack(AckTags, undefined, State) ->
ack_out_counter = AckOutCount + length(AckTags) })};
ack(AckTags, MsgFun, State = #vqstate{pending_ack = PA}) ->
- [begin
- AckEntry = gb_trees:get(SeqId, PA),
- MsgFun(read_msg_callback(AckEntry), SeqId, State)
- end || SeqId <- AckTags],
- {[], State}.
+ State2 = lists:foldl(fun(SeqId, State1) ->
+ AckEntry = gb_trees:get(SeqId, PA),
+ MsgFun(read_msg_callback(AckEntry), SeqId, State1)
+ end, State, AckTags),
+ {[], State2}.
requeue(AckTags, #vqstate { delta = Delta,
q3 = Q3,