summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTim Watson <tim@rabbitmq.com>2013-05-20 16:16:49 +0100
committerTim Watson <tim@rabbitmq.com>2013-05-20 16:16:49 +0100
commit54d75b7c6650303d6e288ed23f06d9fbeba4affc (patch)
treee8fd1825350269376b5230a103ce9079a974a95e /src
parent5bdfd30b851bf02a341df5871b723affa4b914ad (diff)
parent47b44d3b0d073d5f5600643fbeb58ce0fa9f89bc (diff)
downloadrabbitmq-server-git-54d75b7c6650303d6e288ed23f06d9fbeba4affc.tar.gz
merge heads
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_channel.erl5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl
index 37041d346e..1de14b5ce4 100644
--- a/src/rabbit_channel.erl
+++ b/src/rabbit_channel.erl
@@ -1085,8 +1085,9 @@ handle_method(#'tx.commit'{}, _, #ch{tx = none}) ->
handle_method(#'tx.commit'{}, _, State = #ch{tx = {Msgs, Acks},
limiter = Limiter}) ->
State1 = rabbit_misc:queue_fold(fun deliver_to_queues/2, State, Msgs),
- lists:foreach(fun ({ack, A}) -> ack(A, State1);
- ({Requeue, A}) -> reject(Requeue, A, Limiter)
+ Rev = fun (X) -> lists:reverse(lists:sort(X)) end,
+ lists:foreach(fun ({ack, A}) -> ack(Rev(A), State1);
+ ({Requeue, A}) -> reject(Requeue, Rev(A), Limiter)
end, lists:reverse(Acks)),
{noreply, maybe_complete_tx(State1#ch{tx = committing})};