diff options
| author | Matthew Sackman <matthew@lshift.net> | 2010-03-08 17:34:34 +0000 |
|---|---|---|
| committer | Matthew Sackman <matthew@lshift.net> | 2010-03-08 17:34:34 +0000 |
| commit | eae0845e8829aeadd8b65b776e0108081bde27f9 (patch) | |
| tree | a8c54f045891548b3e45130dc11cb0950432736e /src | |
| parent | b9790f78efd60c1a9f525998d4260002122cae99 (diff) | |
| parent | 107adaa41c70b749999cf97a4f7c5f0234ed10a1 (diff) | |
| download | rabbitmq-server-git-eae0845e8829aeadd8b65b776e0108081bde27f9.tar.gz | |
Merge default into bug 21673
Diffstat (limited to 'src')
| -rw-r--r-- | src/pg_local.erl | 2 | ||||
| -rw-r--r-- | src/rabbit.erl | 12 | ||||
| -rw-r--r-- | src/rabbit_alarm.erl | 8 | ||||
| -rw-r--r-- | src/rabbit_amqqueue.erl | 2 | ||||
| -rw-r--r-- | src/rabbit_multi.erl | 4 | ||||
| -rw-r--r-- | src/rabbit_networking.erl | 8 | ||||
| -rw-r--r-- | src/rabbit_restartable_sup.erl | 21 | ||||
| -rw-r--r-- | src/rabbit_sup.erl | 27 | ||||
| -rw-r--r-- | src/tcp_listener_sup.erl | 2 |
9 files changed, 44 insertions, 42 deletions
diff --git a/src/pg_local.erl b/src/pg_local.erl index fa41fe46b3..1501331d6b 100644 --- a/src/pg_local.erl +++ b/src/pg_local.erl @@ -206,7 +206,7 @@ ensure_started() -> case whereis(?MODULE) of undefined -> C = {pg_local, {?MODULE, start_link, []}, permanent, - 1000, worker, [?MODULE]}, + 16#ffffffff, worker, [?MODULE]}, supervisor:start_child(kernel_safe_sup, C); PgLocalPid -> {ok, PgLocalPid} diff --git a/src/rabbit.erl b/src/rabbit.erl index 6203630ede..3b07f6e663 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}]}). @@ -72,7 +72,7 @@ -rabbit_boot_step({file_handle_cache, [{description, "file handle cache server"}, - {mfa, {rabbit_restartable_sup, start_child, + {mfa, {rabbit_sup, start_restartable_child, [file_handle_cache]}}, {enables, kernel_ready}]}). @@ -87,28 +87,28 @@ -rabbit_boot_step({rabbit_memory_monitor, [{description, "memory moniter"}, - {mfa, {rabbit_restartable_sup, start_child, + {mfa, {rabbit_sup, start_restartable_child, [rabbit_memory_monitor]}}, {requires, rabbit_alarm}, {enables, core_initialized}]}). -rabbit_boot_step({guid_generator, [{description, "guid generator"}, - {mfa, {rabbit_restartable_sup, start_child, + {mfa, {rabbit_sup, start_restartable_child, [rabbit_guid]}}, {requires, kernel_ready}, {enables, core_initialized}]}). -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}, {enables, core_initialized}]}). diff --git a/src/rabbit_alarm.erl b/src/rabbit_alarm.erl index d5d245aaa1..7e96d9a3a8 100644 --- a/src/rabbit_alarm.erl +++ b/src/rabbit_alarm.erl @@ -57,11 +57,9 @@ start() -> ok = alarm_handler:add_alarm_handler(?MODULE, []), {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, - [MemoryWatermark]) + true -> ok; + 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 0b8a7d1049..e333a43b9d 100644 --- a/src/rabbit_amqqueue.erl +++ b/src/rabbit_amqqueue.erl @@ -135,7 +135,7 @@ start() -> DurableQueues = find_durable_queues(), ok = rabbit_queue_index:start_msg_store(DurableQueues), {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_multi.erl b/src/rabbit_multi.erl index 9cb2c03cd7..7c56ae3dda 100644 --- a/src/rabbit_multi.erl +++ b/src/rabbit_multi.erl @@ -50,8 +50,8 @@ start() -> RpcTimeout = case init:get_argument(maxwait) of - {ok, [[N1]]} -> 1000 * list_to_integer(N1); - _ -> 16#ffffffff %% max allowed value according to docs + {ok,[[N1]]} -> 1000 * list_to_integer(N1); + _ -> ?MAX_WAIT end, case init:get_plain_arguments() of [] -> diff --git a/src/rabbit_networking.erl b/src/rabbit_networking.erl index 4d3197064c..7978573d90 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 bc6f40da6b..06d59249bb 100644 --- a/src/rabbit_restartable_sup.erl +++ b/src/rabbit_restartable_sup.erl @@ -33,22 +33,15 @@ -behaviour(supervisor). --export([start_link/0, start_child/1, start_child/2]). +-export([start_link/2]). -export([init/1]). --define(SERVER, ?MODULE). +-include("rabbit.hrl"). -start_link() -> - supervisor:start_link({local, ?SERVER}, ?MODULE, []). +start_link(Name, {_M, _F, _A} = Fun) -> + supervisor:start_link({local, Name}, ?MODULE, [Fun]). -start_child(Mod) -> - start_child(Mod, []). - -start_child(Mod, Args) -> - {ok, _} = supervisor:start_child(?SERVER, {Mod, {Mod, start_link, Args}, - transient, 100, 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 63862d4e5a..25715e6e29 100644 --- a/src/rabbit_sup.erl +++ b/src/rabbit_sup.erl @@ -33,10 +33,13 @@ -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]). +-include("rabbit.hrl"). + -define(SERVER, ?MODULE). start_link() -> @@ -46,14 +49,22 @@ 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. + +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, {Mod, {Mod, start_link, Args}, - %% 16#ffffffff is the highest value allowed - transient, 16#ffffffff, worker, [Mod]}), + ?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}, []}}. diff --git a/src/tcp_listener_sup.erl b/src/tcp_listener_sup.erl index 0fe1542616..493925efd5 100644 --- a/src/tcp_listener_sup.erl +++ b/src/tcp_listener_sup.erl @@ -63,4 +63,4 @@ init({IPAddress, Port, SocketOpts, OnStartup, OnShutdown, [IPAddress, Port, SocketOpts, ConcurrentAcceptorCount, Name, OnStartup, OnShutdown, Label]}, - transient, 100, worker, [tcp_listener]}]}}. + transient, 16#ffffffff, worker, [tcp_listener]}]}}. |
