summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_recovery_indexes.erl13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/rabbit_recovery_indexes.erl b/src/rabbit_recovery_indexes.erl
index 460aaa1c7c..de72aef675 100644
--- a/src/rabbit_recovery_indexes.erl
+++ b/src/rabbit_recovery_indexes.erl
@@ -57,11 +57,14 @@
-define(CLEAN_FILENAME, "clean.dot").
recover() ->
- supervisor:start_child(rabbit_sup,
- {?SERVER, {?MODULE, start_link, []},
- permanent, ?MAX_WAIT, worker,
- [?SERVER]}),
- ok.
+ case supervisor:start_child(rabbit_sup,
+ {?SERVER, {?MODULE, start_link, []},
+ permanent, ?MAX_WAIT, worker,
+ [?SERVER]}) of
+ {ok, _} -> ok;
+ {error, {already_started, _}} -> ok;
+ {error, _}=Err -> Err
+ end.
start_link() ->
gen_server:start_link(?MODULE, [], []).