summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Watson <tim@rabbitmq.com>2014-01-23 15:24:00 +0000
committerTim Watson <tim@rabbitmq.com>2014-01-23 15:24:00 +0000
commitbb0a4643efb2be2c444eef7aee92bdb8729ba334 (patch)
treea2cd6926ff08a6019fcb4e69fbd6529f4f662ceb
parented046294ce82e165156ed8e622356210e6512b68 (diff)
downloadrabbitmq-server-bb0a4643efb2be2c444eef7aee92bdb8729ba334.tar.gz
Refactor (recovery-terms restart strategy)
Use rabbit_sup:start_child/1, since a transient restart is fine. Match on rabbit_recovery_terms:recover/0, since we want to crash if that fails.
-rw-r--r--src/rabbit_queue_index.erl2
-rw-r--r--src/rabbit_recovery_terms.erl7
2 files changed, 3 insertions, 6 deletions
diff --git a/src/rabbit_queue_index.erl b/src/rabbit_queue_index.erl
index 3da56c93..8db6717d 100644
--- a/src/rabbit_queue_index.erl
+++ b/src/rabbit_queue_index.erl
@@ -343,7 +343,7 @@ bounds(State = #qistate { segments = Segments }) ->
{LowSeqId, NextSeqId, State}.
recover(DurableQueueNames) ->
- rabbit_recovery_terms:recover(),
+ ok = rabbit_recovery_terms:recover(),
{DurableTerms, DurableDirectories} =
lists:foldl(
fun(QName, {RecoveryTerms, ValidDirectories}) ->
diff --git a/src/rabbit_recovery_terms.erl b/src/rabbit_recovery_terms.erl
index dda57942..6e2a4a3d 100644
--- a/src/rabbit_recovery_terms.erl
+++ b/src/rabbit_recovery_terms.erl
@@ -45,11 +45,8 @@
-define(SERVER, ?MODULE).
recover() ->
- case supervisor:start_child(rabbit_sup,
- {?SERVER, {?MODULE, start_link, []},
- permanent, 16#ffffffff, worker,
- [?SERVER]}) of
- {ok, _} -> ok;
+ case rabbit_sup:start_child(?MODULE) of
+ ok -> ok;
{error, {already_started, _}} -> ok;
{error, _}=Err -> Err
end.