summaryrefslogtreecommitdiff
path: root/src/rabbit_amqqueue_process.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/rabbit_amqqueue_process.erl')
-rw-r--r--src/rabbit_amqqueue_process.erl12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl
index b21a4c88..e068b93c 100644
--- a/src/rabbit_amqqueue_process.erl
+++ b/src/rabbit_amqqueue_process.erl
@@ -26,7 +26,7 @@
-export([info_keys/0]).
--export([become/1, init_with_backing_queue_state/7]).
+-export([init_with_backing_queue_state/7]).
-export([init/1, terminate/2, code_change/3, handle_call/3, handle_cast/2,
handle_info/2, handle_pre_hibernate/1, prioritise_call/4,
@@ -105,12 +105,12 @@ statistics_keys() -> ?STATISTICS_KEYS ++ rabbit_backing_queue:info_keys().
%%----------------------------------------------------------------------------
-init(_) -> exit(cannot_be_called_directly).
-
-become(Q = #amqqueue{name = QName}) ->
+init(Q) ->
process_flag(trap_exit, true),
- ?store_proc_name(QName),
- {become, ?MODULE, init_state(Q), hibernate}.
+ ?store_proc_name(Q#amqqueue.name),
+ {ok, init_state(Q#amqqueue{pid = self()}), hibernate,
+ {backoff, ?HIBERNATE_AFTER_MIN, ?HIBERNATE_AFTER_MIN, ?DESIRED_HIBERNATE},
+ ?MODULE}.
finish_init(Recover, From, State = #q{q = Q,
backing_queue = undefined,