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 | 68889272e0d87742060e886a5fbdede8c4b64a77 (patch) | |
| tree | 91496215dbaeaa70b63af4e4170a5dfe13770c46 | |
| parent | 744591f820f56cf13a6d478160c5b6dca4e5ab64 (diff) | |
| download | rabbitmq-server-git-68889272e0d87742060e886a5fbdede8c4b64a77.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 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, [], []). |
