diff options
| author | Francesco Mazzoli <francesco@rabbitmq.com> | 2012-07-05 18:28:00 +0100 |
|---|---|---|
| committer | Francesco Mazzoli <francesco@rabbitmq.com> | 2012-07-05 18:28:00 +0100 |
| commit | 54b0b4bc26cb63e8b6d90eb3ce9f1b41180dff9b (patch) | |
| tree | 566e29f58345cf74af0a3a264a9fc7e45b3ce67f /src/gm.erl | |
| parent | 48c7fa88e07b145464c69105242a2d03b94be788 (diff) | |
| parent | 63477af925d226c937aee6984c6380699ede0a11 (diff) | |
| download | rabbitmq-server-git-54b0b4bc26cb63e8b6d90eb3ce9f1b41180dff9b.tar.gz | |
merge default
Diffstat (limited to 'src/gm.erl')
| -rw-r--r-- | src/gm.erl | 10 |
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 = |
