diff options
author | Matthias Radestock <matthias@lshift.net> | 2009-01-06 17:23:59 +0000 |
---|---|---|
committer | Matthias Radestock <matthias@lshift.net> | 2009-01-06 17:23:59 +0000 |
commit | d5571e3a410d7ca69b862d6ddccc4fea65ce9b9c (patch) | |
tree | 4495cd2ee124be66c2baee6c56f23ae91db6baa2 | |
parent | 0e47200c11c7c1849e2a5aef44509496118ca819 (diff) | |
download | rabbitmq-server-bug20020.tar.gz |
enable memory alarms by default on linuxbug20020
-rw-r--r-- | ebin/rabbit.app | 2 | ||||
-rw-r--r-- | src/rabbit_alarm.erl | 14 |
2 files changed, 12 insertions, 4 deletions
diff --git a/ebin/rabbit.app b/ebin/rabbit.app index 70a13208..0d714fdf 100644 --- a/ebin/rabbit.app +++ b/ebin/rabbit.app @@ -54,4 +54,4 @@ {default_user, <<"guest">>}, {default_pass, <<"guest">>}, {default_vhost, <<"/">>}, - {memory_alarms, false}]}]}. + {memory_alarms, auto}]}]}. diff --git a/src/rabbit_alarm.erl b/src/rabbit_alarm.erl index 7bbed8b7..dee71d23 100644 --- a/src/rabbit_alarm.erl +++ b/src/rabbit_alarm.erl @@ -40,6 +40,9 @@ -define(MEMSUP_CHECK_INTERVAL, 1000). +%% OSes on which we know memory alarms to be trustworthy +-define(SUPPORTED_OS, [{unix, linux}]). + -record(alarms, {alertees, system_memory_high_watermark = false}). %%---------------------------------------------------------------------------- @@ -47,7 +50,7 @@ -ifdef(use_specs). -type(mfa_tuple() :: {atom(), atom(), list()}). --spec(start/1 :: (bool()) -> 'ok'). +-spec(start/1 :: (bool() | 'auto') -> 'ok'). -spec(stop/0 :: () -> 'ok'). -spec(register/2 :: (pid(), mfa_tuple()) -> 'ok'). @@ -56,9 +59,14 @@ %%---------------------------------------------------------------------------- start(MemoryAlarms) -> - ok = alarm_handler:add_alarm_handler(?MODULE, [MemoryAlarms]), + EnableAlarms = case MemoryAlarms of + true -> true; + false -> false; + auto -> lists:member(os:type(), ?SUPPORTED_OS) + end, + ok = alarm_handler:add_alarm_handler(?MODULE, [EnableAlarms]), case whereis(memsup) of - undefined -> if MemoryAlarms -> ok = start_memsup(), + undefined -> if EnableAlarms -> ok = start_memsup(), ok = adjust_memsup_interval(); true -> ok end; |