diff options
author | Tim Watson <tim@rabbitmq.com> | 2013-12-10 14:22:57 +0000 |
---|---|---|
committer | Tim Watson <tim@rabbitmq.com> | 2013-12-10 14:22:57 +0000 |
commit | e73271fdb74898cce0982a181a849a8a937cbe65 (patch) | |
tree | 91496215dbaeaa70b63af4e4170a5dfe13770c46 | |
parent | 5c81d8ef6c8f56a3cebf150cea83c04c8391b315 (diff) | |
download | rabbitmq-server-e73271fdb74898cce0982a181a849a8a937cbe65.tar.gz |
Handle recovery index startup errors cleanly
-rw-r--r-- | src/rabbit_recovery_indexes.erl | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/rabbit_recovery_indexes.erl b/src/rabbit_recovery_indexes.erl index 460aaa1c..de72aef6 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, [], []). |