summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniil Fedotov <dfedotov@pivotal.io>2017-07-31 13:32:11 +0100
committerDaniil Fedotov <dfedotov@pivotal.io>2017-07-31 13:32:11 +0100
commitd16e1582dd3809ed0a91f2a4c18cf12a8a2bc1b7 (patch)
treea72f33f794c030e3c525a5a77e01438c03819da5
parent0cf39584f19ffd69d69c9065e3411193e8abc2b3 (diff)
downloadrabbitmq-server-git-d16e1582dd3809ed0a91f2a4c18cf12a8a2bc1b7.tar.gz
Do not start multiple vhost supervisors for a single vhost
-rw-r--r--src/rabbit_vhost_sup_wrapper.erl7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/rabbit_vhost_sup_wrapper.erl b/src/rabbit_vhost_sup_wrapper.erl
index 8e23389bb9..4ae68cdd75 100644
--- a/src/rabbit_vhost_sup_wrapper.erl
+++ b/src/rabbit_vhost_sup_wrapper.erl
@@ -29,7 +29,12 @@
start_link(VHost) ->
%% Using supervisor, because supervisor2 does not stop a started child when
%% another one fails to start. Bug?
- supervisor:start_link(?MODULE, [VHost]).
+ case rabbit_vhost_sup_sup:get_vhost_sup(VHost) of
+ {ok, Pid} ->
+ {error, {already_started, Pid}};
+ {error, _} ->
+ supervisor:start_link(?MODULE, [VHost])
+ end.
init([VHost]) ->
%% 2 restarts in 5 minutes. One per message store.