summaryrefslogtreecommitdiff
path: root/src/rabbit_sup.erl
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@lshift.net>2010-03-08 15:41:58 +0000
committerMatthew Sackman <matthew@lshift.net>2010-03-08 15:41:58 +0000
commit8867e0a479bfc69540eb7088b880f8b97dfdfb1a (patch)
treeb4a8f533935a2e2f503c38db7eb0691d70d3ae36 /src/rabbit_sup.erl
parent4b876e1f97df23caa45c4fd65d07448890a71f82 (diff)
parent9102bfe2a6b96d9f560cb20713c888dffee419ae (diff)
downloadrabbitmq-server-8867e0a479bfc69540eb7088b880f8b97dfdfb1a.tar.gz
Merging bug 22454 into bug 22456
Diffstat (limited to 'src/rabbit_sup.erl')
-rw-r--r--src/rabbit_sup.erl20
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}, []}}.