diff options
author | Simon MacMullen <simon@rabbitmq.com> | 2012-06-25 17:19:05 +0100 |
---|---|---|
committer | Simon MacMullen <simon@rabbitmq.com> | 2012-06-25 17:19:05 +0100 |
commit | 911853812f4875be87ce1d3c87f24cd40c4e0398 (patch) | |
tree | 604bdf3b12787916a8500021eb23f8b3c4358666 | |
parent | 19cb51475cfc9531ae976f62875f8f386b599835 (diff) | |
download | rabbitmq-server-911853812f4875be87ce1d3c87f24cd40c4e0398.tar.gz |
OK, we do actually need a special way to determine the difference between:
leave the group -> normal
node shutting down -> shutdown
queue deletion -> {shutdown, do_not_heal}
-rw-r--r-- | src/gm.erl | 2 | ||||
-rw-r--r-- | src/rabbit_mirror_queue_coordinator.erl | 2 | ||||
-rw-r--r-- | src/rabbit_mirror_queue_slave.erl | 2 |
3 files changed, 3 insertions, 3 deletions
@@ -664,7 +664,7 @@ handle_info({'DOWN', MRef, process, _Pid, Reason}, case {Member, Reason} of {undefined, _} -> noreply(State); - {_, shutdown} -> + {_, {shutdown, do_not_heal}} -> noreply(State); _ -> View1 = diff --git a/src/rabbit_mirror_queue_coordinator.erl b/src/rabbit_mirror_queue_coordinator.erl index 64756719..8d2531e6 100644 --- a/src/rabbit_mirror_queue_coordinator.erl +++ b/src/rabbit_mirror_queue_coordinator.erl @@ -407,7 +407,7 @@ handle_msg([CPid], _From, {ensure_monitoring, _Pids} = Msg) -> ok = gen_server2:cast(CPid, Msg); handle_msg([CPid], _From, {delete_and_terminate, _Reason} = Msg) -> ok = gen_server2:cast(CPid, Msg), - {stop, shutdown}; + {stop, {shutdown, do_not_heal}}; handle_msg([_CPid], _From, _Msg) -> ok. diff --git a/src/rabbit_mirror_queue_slave.erl b/src/rabbit_mirror_queue_slave.erl index 481897e6..4bef2b7d 100644 --- a/src/rabbit_mirror_queue_slave.erl +++ b/src/rabbit_mirror_queue_slave.erl @@ -353,7 +353,7 @@ handle_msg([SPid], _From, {process_death, Pid}) -> inform_deaths(SPid, [Pid]); handle_msg([CPid], _From, {delete_and_terminate, _Reason} = Msg) -> ok = gen_server2:cast(CPid, {gm, Msg}), - {stop, shutdown}; + {stop, {shutdown, do_not_heal}}; handle_msg([SPid], _From, Msg) -> ok = gen_server2:cast(SPid, {gm, Msg}). |