summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Watson <tim@rabbitmq.com>2013-05-20 17:17:17 +0100
committerTim Watson <tim@rabbitmq.com>2013-05-20 17:17:17 +0100
commit9158d8c444f0a9f7532a83a6abc0a85b73661f14 (patch)
tree1d247eaa4a52e1b80d40082bf6616182a0de4ba6
parent3be4cdfc57b16137cf3dfe1f6148f86b6d2838f6 (diff)
parent6e1809e5497c14cb4ae176ad7eb5eaf4f41fdf39 (diff)
downloadrabbitmq-server-git-9158d8c444f0a9f7532a83a6abc0a85b73661f14.tar.gz
merge (default) heads
-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})};