summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEmile Joubert <emile@rabbitmq.com>2012-05-18 11:37:51 +0100
committerEmile Joubert <emile@rabbitmq.com>2012-05-18 11:37:51 +0100
commit53b98cbdaa2d42f0273bf0dbe235003d206ac507 (patch)
tree0101d086fdf8d7fb47eebd1b8be50b64e94fdc34 /src
parentf213e8a03792c4df233c4d3522812178caed2d2c (diff)
downloadrabbitmq-server-git-53b98cbdaa2d42f0273bf0dbe235003d206ac507.tar.gz
Prevent DOWN messages from overtaking initial catchup
Diffstat (limited to 'src')
-rw-r--r--src/gm.erl10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/gm.erl b/src/gm.erl
index 01300f18af..5e477b9d8d 100644
--- a/src/gm.erl
+++ b/src/gm.erl
@@ -693,9 +693,13 @@ terminate(Reason, State = #state { module = Module,
code_change(_OldVsn, State, _Extra) ->
{ok, State}.
-prioritise_info(flush, _State) -> 1;
-prioritise_info({'DOWN', _MRef, process, _Pid, _Reason}, _State) -> 1;
-prioritise_info(_ , _State) -> 0.
+prioritise_info(flush, _State) ->
+ 1;
+prioritise_info({'DOWN', _MRef, process, _Pid, _Reason},
+ #state { members_state = MS }) when MS /= undefined ->
+ 1;
+prioritise_info(_, _State) ->
+ 0.
handle_msg(check_neighbours, State) ->