summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2012-02-01 11:45:49 +0000
committerSimon MacMullen <simon@rabbitmq.com>2012-02-01 11:45:49 +0000
commitcc6997e78e6a3d0f6d31cbfe941f985e38090cf4 (patch)
treeb57b6abe8db86a2c7fe7998a93a895097e8d8317
parent66d8af5b747d68dcdf1a3b52a2e906aebfb9df24 (diff)
downloadrabbitmq-server-cc6997e78e6a3d0f6d31cbfe941f985e38090cf4.tar.gz
We don't actually need this two-stage startup, we can just fail to init/1.
-rw-r--r--src/rabbit_mirror_queue_slave.erl20
1 files changed, 7 insertions, 13 deletions
diff --git a/src/rabbit_mirror_queue_slave.erl b/src/rabbit_mirror_queue_slave.erl
index 9a5cdfb1..1fd927dd 100644
--- a/src/rabbit_mirror_queue_slave.erl
+++ b/src/rabbit_mirror_queue_slave.erl
@@ -90,11 +90,7 @@
}).
start_link(Q) ->
- {ok, Pid} = gen_server2:start_link(?MODULE, [], []),
- case gen_server2:call(Pid, {init, Q}, infinity) of
- ok -> {ok, Pid};
- existing -> ignore
- end.
+ gen_server2:start_link(?MODULE, Q, []).
set_maximum_since_use(QPid, Age) ->
gen_server2:cast(QPid, {set_maximum_since_use, Age}).
@@ -102,11 +98,7 @@ set_maximum_since_use(QPid, Age) ->
info(QPid) ->
gen_server2:call(QPid, info, infinity).
-init([]) ->
- {ok, not_started, hibernate,
- {backoff, ?HIBERNATE_AFTER_MIN, ?HIBERNATE_AFTER_MIN, ?DESIRED_HIBERNATE}}.
-
-handle_call({init, #amqqueue { name = QueueName } = Q}, _From, not_started) ->
+init(#amqqueue { name = QueueName } = Q) ->
Self = self(),
Node = node(),
case rabbit_misc:execute_mnesia_transaction(
@@ -155,10 +147,12 @@ handle_call({init, #amqqueue { name = QueueName } = Q}, _From, not_started) ->
rabbit_event:notify(queue_slave_created,
infos(?CREATION_EVENT_KEYS, State)),
ok = gm:broadcast(GM, request_length),
- reply(ok, State);
+ {ok, State, hibernate,
+ {backoff, ?HIBERNATE_AFTER_MIN, ?HIBERNATE_AFTER_MIN,
+ ?DESIRED_HIBERNATE}};
existing ->
- {stop, normal, existing, #state{}}
- end;
+ ignore
+ end.
handle_call({deliver, Delivery = #delivery { immediate = true }},
From, State) ->