summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2012-10-16 15:14:57 +0100
committerMatthias Radestock <matthias@rabbitmq.com>2012-10-16 15:14:57 +0100
commit723774ec48a0d6643dc33e65782a9da9f386b743 (patch)
tree957685fd27a729e6608a952c05c8b14df8cdc49d /src
parent527f4e295dc00f5e869ccb649247f762a177fe18 (diff)
parent1e44da5f708f5c1be16adcb1398f123516a864d5 (diff)
downloadrabbitmq-server-git-723774ec48a0d6643dc33e65782a9da9f386b743.tar.gz
merge heads
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_mirror_queue_slave.erl12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/rabbit_mirror_queue_slave.erl b/src/rabbit_mirror_queue_slave.erl
index 8ca8b4f114..f72ed03df3 100644
--- a/src/rabbit_mirror_queue_slave.erl
+++ b/src/rabbit_mirror_queue_slave.erl
@@ -179,18 +179,20 @@ handle_call({gm_deaths, Deaths}, From,
gen_server2:reply(From, ok),
{stop, normal, State};
{ok, Pid, DeadPids} ->
- rabbit_mirror_queue_misc:report_deaths(self(), false, QName,
+ Self = self(),
+ rabbit_mirror_queue_misc:report_deaths(Self, false, QName,
DeadPids),
- if node(Pid) =:= node(MPid) ->
+ case Pid of
+ MPid ->
%% master hasn't changed
gen_server2:reply(From, ok),
noreply(State);
- node(Pid) =:= node() ->
+ Self ->
%% we've become master
QueueState = promote_me(From, State),
{become, rabbit_amqqueue_process, QueueState, hibernate};
- true ->
- %% master has changed to not us.
+ _ ->
+ %% master has changed to not us
gen_server2:reply(From, ok),
erlang:monitor(process, Pid),
noreply(State #state { q = Q #amqqueue { pid = Pid } })