summaryrefslogtreecommitdiff
path: root/src/rabbit.erl
diff options
context:
space:
mode:
authorMichael Bridgen <mikeb@lshift.net>2009-12-18 15:36:58 +0000
committerMichael Bridgen <mikeb@lshift.net>2009-12-18 15:36:58 +0000
commit21b9b3d0d7c337fd562e2d03610a7fd8ea1b03dc (patch)
tree28a5906c4f5c68d165ef45c30e89f30aa57e2e56 /src/rabbit.erl
parentc706e4f9d3daebd9ed992e3280ff2b0b921af347 (diff)
parentd74a371b279a99373f5580084879b5e12e2a8e62 (diff)
downloadrabbitmq-server-git-21b9b3d0d7c337fd562e2d03610a7fd8ea1b03dc.tar.gz
Merge no-pluggable-exchange branch into v1.7-series branch.
Diffstat (limited to 'src/rabbit.erl')
-rw-r--r--src/rabbit.erl23
1 files changed, 19 insertions, 4 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl
index 18fd1b175f..c6dde385ce 100644
--- a/src/rabbit.erl
+++ b/src/rabbit.erl
@@ -140,9 +140,17 @@ start(normal, []) ->
ok = rabbit_binary_generator:
check_empty_content_body_frame_size(),
- {ok, MemoryAlarms} = application:get_env(memory_alarms),
- ok = rabbit_alarm:start(MemoryAlarms),
-
+ ok = rabbit_alarm:start(),
+
+ {ok, MemoryWatermark} =
+ application:get_env(vm_memory_high_watermark),
+ ok = case MemoryWatermark == 0 of
+ true ->
+ ok;
+ false ->
+ start_child(vm_memory_monitor, [MemoryWatermark])
+ end,
+
ok = rabbit_amqqueue:start(),
ok = start_child(rabbit_router),
@@ -202,6 +210,10 @@ start(normal, []) ->
stop(_State) ->
terminated_ok = error_logger:delete_report_handler(rabbit_error_logger),
ok = rabbit_alarm:stop(),
+ ok = case rabbit_mnesia:is_clustered() of
+ true -> rabbit_amqqueue:on_node_down(node());
+ false -> rabbit_mnesia:empty_ram_only_tables()
+ end,
ok.
%---------------------------------------------------------------------------
@@ -264,8 +276,11 @@ print_banner() ->
io:nl().
start_child(Mod) ->
+ start_child(Mod, []).
+
+start_child(Mod, Args) ->
{ok,_} = supervisor:start_child(rabbit_sup,
- {Mod, {Mod, start_link, []},
+ {Mod, {Mod, start_link, Args},
transient, 100, worker, [Mod]}),
ok.