diff options
author | Michael Klishin <klishinm@vmware.com> | 2022-10-25 20:54:24 +0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-25 20:54:24 +0400 |
commit | a5feee482b83f839c05483f9a8ea2dde8ca6200a (patch) | |
tree | 34deef2933eae18f7a896fa5b5b7e4de43ae5f1c | |
parent | 2b404b579b58f9dcd9d309f149e62cf52d14480b (diff) | |
parent | 8550980a4a3e0f0ebffc476c79770266678b7eda (diff) | |
download | rabbitmq-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.erl | 14 |
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}. |