diff options
author | Hans Bolinder <[email protected]> | 2010-05-31 11:48:19 +0000 |
---|---|---|
committer | Erlang/OTP <[email protected]> | 2010-05-31 11:48:19 +0000 |
commit | ed3c6a7c5103424af34528f83fee2ac9ecc14c1b (patch) | |
tree | f6042d8d1abb4784efc5a45825823faa9630fa35 /lib/kernel/src | |
parent | 56f23b4aca7c8bfcceeb0095536926ddb1a8102c (diff) | |
download | otp-ed3c6a7c5103424af34528f83fee2ac9ecc14c1b.tar.gz otp-ed3c6a7c5103424af34528f83fee2ac9ecc14c1b.tar.bz2 otp-ed3c6a7c5103424af34528f83fee2ac9ecc14c1b.zip |
OTP-8653 pg2: bug fix
When exchanging groups between nodes pg2 did not remove duplicated members.
This bug was introduced in R13B03 (kernel-2.13.4).
Diffstat (limited to 'lib/kernel/src')
-rw-r--r-- | lib/kernel/src/pg2.erl | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/kernel/src/pg2.erl b/lib/kernel/src/pg2.erl index cb9fec2ffe..956a900adc 100644 --- a/lib/kernel/src/pg2.erl +++ b/lib/kernel/src/pg2.erl @@ -251,7 +251,9 @@ terminate(_Reason, _S) -> %%% Pid is a member of group Name. store(List) -> - _ = [assure_group(Name) andalso [join_group(Name, P) || P <- Members] || + _ = [(assure_group(Name) + andalso + [join_group(Name, P) || P <- Members -- group_members(Name)]) || [Name, Members] <- List], ok. |