summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Watson <tim.watson@gmail.com>2012-05-17 10:52:37 +0100
committerTim Watson <tim.watson@gmail.com>2012-05-17 10:52:37 +0100
commitf41749963b344bd5dd069bd610b68a9a2e24a51b (patch)
treedec7af7d85f8512154dfc8d7b0d7341a4f00fb7f
parent916f046a1a076661824ebc23c3eabcad11b3617e (diff)
parent2467ce5e3e9d59371b27ec1cb0846f05dfcc57f5 (diff)
downloadrabbitmq-server-f41749963b344bd5dd069bd610b68a9a2e24a51b.tar.gz
merge bug24362
-rw-r--r--src/rabbit.erl8
-rw-r--r--src/rabbit_direct.erl12
-rw-r--r--src/rabbit_mirror_queue_slave_sup.erl17
-rw-r--r--src/rabbit_networking.erl13
-rw-r--r--src/rabbit_sup.erl38
5 files changed, 40 insertions, 48 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl
index ea9731b6..df009529 100644
--- a/src/rabbit.erl
+++ b/src/rabbit.erl
@@ -60,7 +60,8 @@
-rabbit_boot_step({worker_pool,
[{description, "worker pool"},
- {mfa, {rabbit_sup, start_child, [worker_pool_sup]}},
+ {mfa, {rabbit_sup, start_supervisor_child,
+ [worker_pool_sup]}},
{requires, pre_boot},
{enables, external_infrastructure}]}).
@@ -143,7 +144,8 @@
-rabbit_boot_step({mirror_queue_slave_sup,
[{description, "mirror queue slave sup"},
- {mfa, {rabbit_mirror_queue_slave_sup, start, []}},
+ {mfa, {rabbit_sup, start_supervisor_child,
+ [rabbit_mirror_queue_slave_sup]}},
{requires, recovery},
{enables, routing_ready}]}).
@@ -538,7 +540,7 @@ boot_error(Format, Args) ->
boot_delegate() ->
{ok, Count} = application:get_env(rabbit, delegate_count),
- rabbit_sup:start_child(delegate_sup, [Count]).
+ rabbit_sup:start_supervisor_child(delegate_sup, [Count]).
recover() ->
rabbit_binding:recover(rabbit_exchange:recover(), rabbit_amqqueue:start()).
diff --git a/src/rabbit_direct.erl b/src/rabbit_direct.erl
index a471d282..c07ad832 100644
--- a/src/rabbit_direct.erl
+++ b/src/rabbit_direct.erl
@@ -47,16 +47,10 @@
%%----------------------------------------------------------------------------
-boot() ->
- {ok, _} =
- supervisor2:start_child(
- rabbit_sup,
- {rabbit_direct_client_sup,
- {rabbit_client_sup, start_link,
+boot() -> rabbit_sup:start_supervisor_child(
+ rabbit_direct_client_sup, rabbit_client_sup,
[{local, rabbit_direct_client_sup},
- {rabbit_channel_sup, start_link, []}]},
- transient, infinity, supervisor, [rabbit_client_sup]}),
- ok.
+ {rabbit_channel_sup, start_link, []}]).
force_event_refresh() ->
[Pid ! force_event_refresh || Pid<- list()],
diff --git a/src/rabbit_mirror_queue_slave_sup.erl b/src/rabbit_mirror_queue_slave_sup.erl
index 8eacb1f3..a2034876 100644
--- a/src/rabbit_mirror_queue_slave_sup.erl
+++ b/src/rabbit_mirror_queue_slave_sup.erl
@@ -18,7 +18,7 @@
-behaviour(supervisor2).
--export([start/0, start_link/0, start_child/2]).
+-export([start_link/0, start_child/2]).
-export([init/1]).
@@ -26,20 +26,9 @@
-define(SERVER, ?MODULE).
-start() ->
- {ok, _} =
- supervisor2:start_child(
- rabbit_sup,
- {rabbit_mirror_queue_slave_sup,
- {rabbit_mirror_queue_slave_sup, start_link, []},
- transient, infinity, supervisor, [rabbit_mirror_queue_slave_sup]}),
- ok.
+start_link() -> supervisor2:start_link({local, ?SERVER}, ?MODULE, []).
-start_link() ->
- supervisor2:start_link({local, ?SERVER}, ?MODULE, []).
-
-start_child(Node, Args) ->
- supervisor2:start_child({?SERVER, Node}, Args).
+start_child(Node, Args) -> supervisor2:start_child({?SERVER, Node}, Args).
init([]) ->
{ok, {{simple_one_for_one_terminate, 10, 10},
diff --git a/src/rabbit_networking.erl b/src/rabbit_networking.erl
index f0c75d23..78deea97 100644
--- a/src/rabbit_networking.erl
+++ b/src/rabbit_networking.erl
@@ -136,15 +136,10 @@ boot_ssl() ->
ok
end.
-start() ->
- {ok,_} = supervisor2:start_child(
- rabbit_sup,
- {rabbit_tcp_client_sup,
- {rabbit_client_sup, start_link,
- [{local, rabbit_tcp_client_sup},
- {rabbit_connection_sup,start_link,[]}]},
- transient, infinity, supervisor, [rabbit_client_sup]}),
- ok.
+start() -> rabbit_sup:start_supervisor_child(
+ rabbit_tcp_client_sup, rabbit_client_sup,
+ [{local, rabbit_tcp_client_sup},
+ {rabbit_connection_sup,start_link,[]}]).
ensure_ssl() ->
ok = rabbit_misc:start_applications([crypto, public_key, ssl]),
diff --git a/src/rabbit_sup.erl b/src/rabbit_sup.erl
index bf2b4798..f142d233 100644
--- a/src/rabbit_sup.erl
+++ b/src/rabbit_sup.erl
@@ -19,6 +19,8 @@
-behaviour(supervisor).
-export([start_link/0, start_child/1, start_child/2, start_child/3,
+ start_supervisor_child/1, start_supervisor_child/2,
+ start_supervisor_child/3,
start_restartable_child/1, start_restartable_child/2, stop_child/1]).
-export([init/1]).
@@ -33,7 +35,11 @@
-spec(start_link/0 :: () -> rabbit_types:ok_pid_or_error()).
-spec(start_child/1 :: (atom()) -> 'ok').
+-spec(start_child/2 :: (atom(), [any()]) -> 'ok').
-spec(start_child/3 :: (atom(), atom(), [any()]) -> 'ok').
+-spec(start_supervisor_child/1 :: (atom()) -> 'ok').
+-spec(start_supervisor_child/2 :: (atom(), [any()]) -> 'ok').
+-spec(start_supervisor_child/3 :: (atom(), atom(), [any()]) -> 'ok').
-spec(start_restartable_child/1 :: (atom()) -> 'ok').
-spec(start_restartable_child/2 :: (atom(), [any()]) -> 'ok').
-spec(stop_child/1 :: (atom()) -> rabbit_types:ok_or_error(any())).
@@ -42,22 +48,29 @@
%%----------------------------------------------------------------------------
-start_link() ->
- supervisor:start_link({local, ?SERVER}, ?MODULE, []).
+start_link() -> supervisor:start_link({local, ?SERVER}, ?MODULE, []).
-start_child(Mod) ->
- start_child(Mod, []).
+start_child(Mod) -> start_child(Mod, []).
-start_child(Mod, Args) ->
- start_child(Mod, Mod, Args).
+start_child(Mod, Args) -> start_child(Mod, Mod, Args).
start_child(ChildId, Mod, Args) ->
- child_reply(supervisor:start_child(?SERVER,
- {ChildId, {Mod, start_link, Args},
- transient, ?MAX_WAIT, worker, [Mod]})).
+ child_reply(supervisor:start_child(
+ ?SERVER,
+ {ChildId, {Mod, start_link, Args},
+ transient, ?MAX_WAIT, worker, [Mod]})).
+
+start_supervisor_child(Mod) -> start_supervisor_child(Mod, []).
+
+start_supervisor_child(Mod, Args) -> start_supervisor_child(Mod, Mod, Args).
+
+start_supervisor_child(ChildId, Mod, Args) ->
+ child_reply(supervisor:start_child(
+ ?SERVER,
+ {ChildId, {Mod, start_link, Args},
+ transient, infinity, supervisor, [Mod]})).
-start_restartable_child(Mod) ->
- start_restartable_child(Mod, []).
+start_restartable_child(Mod) -> start_restartable_child(Mod, []).
start_restartable_child(Mod, Args) ->
Name = list_to_atom(atom_to_list(Mod) ++ "_sup"),
@@ -73,8 +86,7 @@ stop_child(ChildId) ->
E -> E
end.
-init([]) ->
- {ok, {{one_for_all, 0, 1}, []}}.
+init([]) -> {ok, {{one_for_all, 0, 1}, []}}.
%%----------------------------------------------------------------------------