summaryrefslogtreecommitdiff
path: root/src/gm.erl
diff options
context:
space:
mode:
authorFrancesco Mazzoli <francesco@rabbitmq.com>2012-07-05 18:28:00 +0100
committerFrancesco Mazzoli <francesco@rabbitmq.com>2012-07-05 18:28:00 +0100
commit54b0b4bc26cb63e8b6d90eb3ce9f1b41180dff9b (patch)
tree566e29f58345cf74af0a3a264a9fc7e45b3ce67f /src/gm.erl
parent48c7fa88e07b145464c69105242a2d03b94be788 (diff)
parent63477af925d226c937aee6984c6380699ede0a11 (diff)
downloadrabbitmq-server-git-54b0b4bc26cb63e8b6d90eb3ce9f1b41180dff9b.tar.gz
merge default
Diffstat (limited to 'src/gm.erl')
-rw-r--r--src/gm.erl10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/gm.erl b/src/gm.erl
index 30fcdc5d86..f88ed18fbf 100644
--- a/src/gm.erl
+++ b/src/gm.erl
@@ -558,7 +558,7 @@ handle_call(group_members, _From,
reply(not_joined, State);
handle_call(group_members, _From, State = #state { view = View }) ->
- reply(alive_view_members(View), State);
+ reply(get_pids(alive_view_members(View)), State);
handle_call({add_on_right, _NewMember}, _From,
State = #state { members_state = undefined }) ->
@@ -647,7 +647,7 @@ handle_info(flush, State) ->
noreply(
flush_broadcast_buffer(State #state { broadcast_timer = undefined }));
-handle_info({'DOWN', MRef, process, _Pid, _Reason},
+handle_info({'DOWN', MRef, process, _Pid, Reason},
State = #state { self = Self,
left = Left,
right = Right,
@@ -661,8 +661,10 @@ handle_info({'DOWN', MRef, process, _Pid, _Reason},
{_, {Member1, MRef}} -> Member1;
_ -> undefined
end,
- case Member of
- undefined ->
+ case {Member, Reason} of
+ {undefined, _} ->
+ noreply(State);
+ {_, {shutdown, ring_shutdown}} ->
noreply(State);
_ ->
View1 =