summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2012-06-25 17:19:05 +0100
committerSimon MacMullen <simon@rabbitmq.com>2012-06-25 17:19:05 +0100
commit78dea9b92973e60b72317902be40659f647af5ce (patch)
tree604bdf3b12787916a8500021eb23f8b3c4358666 /src
parent8ce0730455dbbda058fb8a2026bdb67612436a74 (diff)
downloadrabbitmq-server-git-78dea9b92973e60b72317902be40659f647af5ce.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}
Diffstat (limited to 'src')
-rw-r--r--src/gm.erl2
-rw-r--r--src/rabbit_mirror_queue_coordinator.erl2
-rw-r--r--src/rabbit_mirror_queue_slave.erl2
3 files changed, 3 insertions, 3 deletions
diff --git a/src/gm.erl b/src/gm.erl
index b06a99e8ea..9d7bed8c99 100644
--- a/src/gm.erl
+++ b/src/gm.erl
@@ -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 6475671956..8d2531e6cd 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 481897e69c..4bef2b7d01 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}).