summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Klishin <michael@clojurewerkz.org>2017-11-22 19:35:26 +0300
committerMichael Klishin <michael@clojurewerkz.org>2017-11-22 19:35:26 +0300
commitf10b71c140ceed8af9fbe43a1d4b8222a889bd88 (patch)
treee92fc2de18c90ea2794e84587e90b2377627d3ed /src
parentdf25c1301da8d3d25503f5bdfa15fad6b1433eb8 (diff)
downloadrabbitmq-server-git-f10b71c140ceed8af9fbe43a1d4b8222a889bd88.tar.gz
gm: adapt has_pending_messages/1 for maps
Closes #1427. [#153094258]
Diffstat (limited to 'src')
-rw-r--r--src/gm.erl7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/gm.erl b/src/gm.erl
index c53e9bb007..6ac0884081 100644
--- a/src/gm.erl
+++ b/src/gm.erl
@@ -1559,9 +1559,10 @@ has_pending_messages(#state{ broadcast_buffer = Buffer })
when Buffer =/= [] ->
true;
has_pending_messages(#state{ members_state = MembersState }) ->
- [] =/= [M || {_, #member{last_pub = LP, last_ack = LA} = M}
- <- MembersState,
- LP =/= LA].
+ MembersWithPubAckMismatches = maps:filter(fun(_Id, #member{last_pub = LP, last_ack = LA}) ->
+ LP =/= LA
+ end, MembersState),
+ 0 =/= maps:size(MembersWithPubAckMismatches).
maybe_confirm(_Self, _Id, Confirms, []) ->
Confirms;