diff options
author | Michael Bridgen <mikeb@lshift.net> | 2009-12-18 15:36:58 +0000 |
---|---|---|
committer | Michael Bridgen <mikeb@lshift.net> | 2009-12-18 15:36:58 +0000 |
commit | 21b9b3d0d7c337fd562e2d03610a7fd8ea1b03dc (patch) | |
tree | 28a5906c4f5c68d165ef45c30e89f30aa57e2e56 /src/rabbit.erl | |
parent | c706e4f9d3daebd9ed992e3280ff2b0b921af347 (diff) | |
parent | d74a371b279a99373f5580084879b5e12e2a8e62 (diff) | |
download | rabbitmq-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.erl | 23 |
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. |