summaryrefslogtreecommitdiff
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
commit1dd04d7f15852f3f1b0735aafe82b1e998dc612a (patch)
treee8fd1825350269376b5230a103ce9079a974a95e
parent3bb4e5dc9b7cac94b8f758b985d9de6a2b63d6d5 (diff)
parent100822952ad9a94d5d6b8d66ce877e50bbe58101 (diff)
downloadrabbitmq-server-1dd04d7f15852f3f1b0735aafe82b1e998dc612a.tar.gz
merge 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 37041d34..1de14b5c 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})};