aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel/src/pg2.erl
diff options
context:
space:
mode:
authorHans Bolinder <[email protected]>2010-05-31 11:48:19 +0000
committerErlang/OTP <[email protected]>2010-05-31 11:48:19 +0000
commited3c6a7c5103424af34528f83fee2ac9ecc14c1b (patch)
treef6042d8d1abb4784efc5a45825823faa9630fa35 /lib/kernel/src/pg2.erl
parent56f23b4aca7c8bfcceeb0095536926ddb1a8102c (diff)
downloadotp-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/pg2.erl')
-rw-r--r--lib/kernel/src/pg2.erl4
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.