diff options
author | Matthew Sackman <matthew@lshift.net> | 2010-03-08 15:41:58 +0000 |
---|---|---|
committer | Matthew Sackman <matthew@lshift.net> | 2010-03-08 15:41:58 +0000 |
commit | 8867e0a479bfc69540eb7088b880f8b97dfdfb1a (patch) | |
tree | b4a8f533935a2e2f503c38db7eb0691d70d3ae36 /src/rabbit_sup.erl | |
parent | 4b876e1f97df23caa45c4fd65d07448890a71f82 (diff) | |
parent | 9102bfe2a6b96d9f560cb20713c888dffee419ae (diff) | |
download | rabbitmq-server-8867e0a479bfc69540eb7088b880f8b97dfdfb1a.tar.gz |
Merging bug 22454 into bug 22456
Diffstat (limited to 'src/rabbit_sup.erl')
-rw-r--r-- | src/rabbit_sup.erl | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/rabbit_sup.erl b/src/rabbit_sup.erl index 03fc9fb9..25715e6e 100644 --- a/src/rabbit_sup.erl +++ b/src/rabbit_sup.erl @@ -33,7 +33,8 @@ -behaviour(supervisor). --export([start_link/0, start_child/1, start_child/2]). +-export([start_link/0, start_child/1, start_child/2, + start_restartable_child/1, start_restartable_child/2]). -export([init/1]). @@ -53,8 +54,17 @@ start_child(Mod, Args) -> transient, ?MAX_WAIT, worker, [Mod]}), ok. +start_restartable_child(Mod) -> + start_restartable_child(Mod, []). + +start_restartable_child(Mod, Args) -> + Name = list_to_atom(atom_to_list(Mod) ++ "_sup"), + {ok, _} = supervisor:start_child( + ?SERVER, + {Name, {rabbit_restartable_sup, start_link, + [Name, {Mod, start_link, Args}]}, + transient, infinity, supervisor, [rabbit_restartable_sup]}), + ok. + init([]) -> - {ok, {{one_for_all, 0, 1}, - [{rabbit_restartable_sup, - {rabbit_restartable_sup, start_link, []}, - transient, infinity, supervisor, [rabbit_restartable_sup]}]}}. + {ok, {{one_for_all, 0, 1}, []}}. |