summaryrefslogtreecommitdiff
path: root/src
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
commitba884ed4cf98519b7a930bc8cee070be4d3a40d4 (patch)
treebb71ec3d2be1d7a98a8ed57719afb29a064a9ba9 /src
parent8f03eeac35af88777f102e9a07e02077a747ec15 (diff)
downloadrabbitmq-server-git-ba884ed4cf98519b7a930bc8cee070be4d3a40d4.tar.gz
It probably makes slightly more sense to monitor before we broadcast.
Diffstat (limited to 'src')
-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 f7fd042526..750bcd56e2 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 }.