summaryrefslogtreecommitdiff
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
parent4b876e1f97df23caa45c4fd65d07448890a71f82 (diff)
parent9102bfe2a6b96d9f560cb20713c888dffee419ae (diff)
downloadrabbitmq-server-8867e0a479bfc69540eb7088b880f8b97dfdfb1a.tar.gz
Merging bug 22454 into bug 22456
-rw-r--r--src/rabbit.erl8
-rw-r--r--src/rabbit_alarm.erl2
-rw-r--r--src/rabbit_amqqueue.erl2
-rw-r--r--src/rabbit_networking.erl8
-rw-r--r--src/rabbit_restartable_sup.erl22
-rw-r--r--src/rabbit_sup.erl20
6 files changed, 31 insertions, 31 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl
index 326893ca..700acede 100644
--- a/src/rabbit.erl
+++ b/src/rabbit.erl
@@ -61,7 +61,7 @@
-rabbit_boot_step({rabbit_log,
[{description, "logging server"},
- {mfa, {rabbit_restartable_sup, start_child,
+ {mfa, {rabbit_sup, start_restartable_child,
[rabbit_log]}},
{enables, kernel_ready}]}).
@@ -87,14 +87,14 @@
-rabbit_boot_step({rabbit_router,
[{description, "cluster router"},
- {mfa, {rabbit_restartable_sup, start_child,
+ {mfa, {rabbit_sup, start_restartable_child,
[rabbit_router]}},
{requires, kernel_ready},
{enables, core_initialized}]}).
-rabbit_boot_step({rabbit_node_monitor,
[{description, "node monitor"},
- {mfa, {rabbit_restartable_sup, start_child,
+ {mfa, {rabbit_sup, start_restartable_child,
[rabbit_node_monitor]}},
{requires, kernel_ready},
{requires, rabbit_amqqueue_sup},
@@ -124,7 +124,7 @@
-rabbit_boot_step({guid_generator,
[{description, "guid generator"},
- {mfa, {rabbit_restartable_sup, start_child,
+ {mfa, {rabbit_sup, start_restartable_child,
[rabbit_guid]}},
{requires, persister},
{enables, routing_ready}]}).
diff --git a/src/rabbit_alarm.erl b/src/rabbit_alarm.erl
index 492e8d53..7e96d9a3 100644
--- a/src/rabbit_alarm.erl
+++ b/src/rabbit_alarm.erl
@@ -58,7 +58,7 @@ start() ->
{ok, MemoryWatermark} = application:get_env(vm_memory_high_watermark),
ok = case MemoryWatermark == 0 of
true -> ok;
- false -> rabbit_restartable_sup:start_child(vm_memory_monitor,
+ false -> rabbit_sup:start_restartable_child(vm_memory_monitor,
[MemoryWatermark])
end,
ok.
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index f1e5e14b..ceec00fd 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -119,7 +119,7 @@
start() ->
{ok,_} = supervisor:start_child(
- rabbit_restartable_sup,
+ rabbit_sup,
{rabbit_amqqueue_sup,
{rabbit_amqqueue_sup, start_link, []},
transient, infinity, supervisor, [rabbit_amqqueue_sup]}),
diff --git a/src/rabbit_networking.erl b/src/rabbit_networking.erl
index 4d319706..7978573d 100644
--- a/src/rabbit_networking.erl
+++ b/src/rabbit_networking.erl
@@ -109,7 +109,7 @@ boot_ssl() ->
start() ->
{ok,_} = supervisor:start_child(
- rabbit_restartable_sup,
+ rabbit_sup,
{rabbit_tcp_client_sup,
{tcp_client_sup, start_link,
[{local, rabbit_tcp_client_sup},
@@ -156,7 +156,7 @@ start_listener(Host, Port, Label, OnConnect) ->
{IPAddress, Name} =
check_tcp_listener_address(rabbit_tcp_listener_sup, Host, Port),
{ok,_} = supervisor:start_child(
- rabbit_restartable_sup,
+ rabbit_sup,
{Name,
{tcp_listener_sup, start_link,
[IPAddress, Port, ?RABBIT_TCP_OPTS ,
@@ -169,8 +169,8 @@ start_listener(Host, Port, Label, OnConnect) ->
stop_tcp_listener(Host, Port) ->
IPAddress = getaddr(Host),
Name = rabbit_misc:tcp_name(rabbit_tcp_listener_sup, IPAddress, Port),
- ok = supervisor:terminate_child(rabbit_restartable_sup, Name),
- ok = supervisor:delete_child(rabbit_restartable_sup, Name),
+ ok = supervisor:terminate_child(rabbit_sup, Name),
+ ok = supervisor:delete_child(rabbit_sup, Name),
ok.
tcp_listener_started(IPAddress, Port) ->
diff --git a/src/rabbit_restartable_sup.erl b/src/rabbit_restartable_sup.erl
index 2f90cb99..06d59249 100644
--- a/src/rabbit_restartable_sup.erl
+++ b/src/rabbit_restartable_sup.erl
@@ -33,25 +33,15 @@
-behaviour(supervisor).
--export([start_link/0, start_child/1, start_child/2]).
+-export([start_link/2]).
-export([init/1]).
-include("rabbit.hrl").
--define(SERVER, ?MODULE).
+start_link(Name, {_M, _F, _A} = Fun) ->
+ supervisor:start_link({local, Name}, ?MODULE, [Fun]).
-start_link() ->
- supervisor:start_link({local, ?SERVER}, ?MODULE, []).
-
-start_child(Mod) ->
- start_child(Mod, []).
-
-start_child(Mod, Args) ->
- {ok, _} = supervisor:start_child(?SERVER,
- {Mod, {Mod, start_link, Args},
- transient, ?MAX_WAIT, worker, [Mod]}),
- ok.
-
-init([]) ->
- {ok, {{one_for_one, 10, 10}, []}}.
+init([{Mod, _F, _A} = Fun]) ->
+ {ok, {{one_for_one, 10, 10},
+ [{Mod, Fun, transient, ?MAX_WAIT, worker, [Mod]}]}}.
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}, []}}.