summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Klishin <klishinm@vmware.com>2022-10-25 20:54:24 +0400
committerGitHub <noreply@github.com>2022-10-25 20:54:24 +0400
commita5feee482b83f839c05483f9a8ea2dde8ca6200a (patch)
tree34deef2933eae18f7a896fa5b5b7e4de43ae5f1c
parent2b404b579b58f9dcd9d309f149e62cf52d14480b (diff)
parent8550980a4a3e0f0ebffc476c79770266678b7eda (diff)
downloadrabbitmq-server-git-a5feee482b83f839c05483f9a8ea2dde8ca6200a.tar.gz
Merge pull request #6251 from rabbitmq/mergify/bp/v3.11.x/pr-6248
Update lqueue based on OTP-25.1.2 (backport #6248)
-rw-r--r--deps/rabbit/src/lqueue.erl14
1 files changed, 7 insertions, 7 deletions
diff --git a/deps/rabbit/src/lqueue.erl b/deps/rabbit/src/lqueue.erl
index 1abee22aee..78312c04cb 100644
--- a/deps/rabbit/src/lqueue.erl
+++ b/deps/rabbit/src/lqueue.erl
@@ -388,13 +388,13 @@ fold(Fun, Acc0, Q) ->
%% Move half of elements from R to F, if there are at least three
r2f(0, []) ->
{0, [], []};
-r2f(1, [_] = R) ->
- {1, [], R};
-r2f(2, [X, Y]) ->
- {2, [X], [Y]};
+r2f(1, [_] = FF) ->
+ {1, [], FF};
+r2f(2, [Y, X]) ->
+ {2, [Y], [X]};
r2f(Len, List) ->
- {FF, RR} = lists:split(Len div 2 + 1, List),
- {Len, FF, lists:reverse(RR, [])}.
+ {RR, FF} = lists:split(Len div 2, List),
+ {Len, RR, lists:reverse(FF, [])}.
%% Move half of elements from F to R, if there are enough
f2r(0, []) ->
@@ -404,5 +404,5 @@ f2r(1, [_] = F) ->
f2r(2, [X, Y]) ->
{2, [Y], [X]};
f2r(Len, List) ->
- {FF, RR} = lists:split(Len div 2 + 1, List),
+ {FF, RR} = lists:split(Len div 2, List),
{Len, lists:reverse(RR, []), FF}.