diff options
author | Simon MacMullen <simon@rabbitmq.com> | 2012-02-01 11:45:49 +0000 |
---|---|---|
committer | Simon MacMullen <simon@rabbitmq.com> | 2012-02-01 11:45:49 +0000 |
commit | cc6997e78e6a3d0f6d31cbfe941f985e38090cf4 (patch) | |
tree | b57b6abe8db86a2c7fe7998a93a895097e8d8317 | |
parent | 66d8af5b747d68dcdf1a3b52a2e906aebfb9df24 (diff) | |
download | rabbitmq-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.erl | 20 |
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) -> |