summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEmile Joubert <emile@rabbitmq.com>2011-10-18 15:54:26 +0100
committerEmile Joubert <emile@rabbitmq.com>2011-10-18 15:54:26 +0100
commitc39552f40677a7e91c1488f994da13aba1a3e038 (patch)
treeed986eedd54267ba082db966f538fb57900b0a5e /src
parent20052e7a1f10e7226f3a6cdfdf884d1773678d98 (diff)
parent3d4fd8774d253d824d8039986e1cf2dc24500d93 (diff)
downloadrabbitmq-server-git-c39552f40677a7e91c1488f994da13aba1a3e038.tar.gz
Merged bug24460 into default
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_channel.erl5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl
index 883e570ad6..9b2fe28ce8 100644
--- a/src/rabbit_channel.erl
+++ b/src/rabbit_channel.erl
@@ -1080,9 +1080,8 @@ handle_method(#'tx.rollback'{}, _, #ch{tx_status = none}) ->
handle_method(#'tx.rollback'{}, _, State = #ch{unacked_message_q = UAMQ,
uncommitted_acks = TAL}) ->
- TAQ = queue:from_list(lists:reverse(TAL)),
- {reply, #'tx.rollback_ok'{},
- new_tx(State#ch{unacked_message_q = queue:join(TAQ, UAMQ)})};
+ UAMQ1 = queue:from_list(lists:usort(TAL ++ queue:to_list(UAMQ))),
+ {reply, #'tx.rollback_ok'{}, new_tx(State#ch{unacked_message_q = UAMQ1})};
handle_method(#'confirm.select'{}, _, #ch{tx_status = in_progress}) ->
rabbit_misc:protocol_error(