summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2012-06-26 16:41:24 +0100
committerSimon MacMullen <simon@rabbitmq.com>2012-06-26 16:41:24 +0100
commit5cff91b22f803cf70c29ff11a1faf7acd604a752 (patch)
treebb71ec3d2be1d7a98a8ed57719afb29a064a9ba9
parent018b921cfaee21810dfbc158ae72e54289922f29 (diff)
downloadrabbitmq-server-bug24988.tar.gz
It probably makes slightly more sense to monitor before we broadcast.bug24988
-rw-r--r--src/rabbit_mirror_queue_master.erl2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/rabbit_mirror_queue_master.erl b/src/rabbit_mirror_queue_master.erl
index f7fd0425..750bcd56 100644
--- a/src/rabbit_mirror_queue_master.erl
+++ b/src/rabbit_mirror_queue_master.erl
@@ -128,8 +128,8 @@ delete_and_terminate(Reason, State = #state { gm = GM,
backing_queue = BQ,
backing_queue_state = BQS }) ->
Slaves = [Pid || Pid <- gm:group_members(GM), node(Pid) =/= node()],
- ok = gm:broadcast(GM, {delete_and_terminate, Reason}),
MRefs = [erlang:monitor(process, S) || S <- Slaves],
+ ok = gm:broadcast(GM, {delete_and_terminate, Reason}),
monitor_wait(MRefs),
State #state { backing_queue_state = BQ:delete_and_terminate(Reason, BQS),
set_delivered = 0 }.