summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Hood <0x6e6562@gmail.com>2009-01-08 13:29:49 +0000
committerBen Hood <0x6e6562@gmail.com>2009-01-08 13:29:49 +0000
commit640c28b12abb8cfb6f51238e3b6ecd1828682f8b (patch)
tree62d197d099b716138296b405bd57417de28530df
parent2849cbb74c399d8eb141b7060cb9a1e519282b4c (diff)
parent1eb9dd178daee2f7e292e9a7da46aa447d4261e3 (diff)
downloadrabbitmq-server-git-640c28b12abb8cfb6f51238e3b6ecd1828682f8b.tar.gz
Merged 20020 into default
-rw-r--r--ebin/rabbit.app2
-rw-r--r--src/rabbit_alarm.erl14
2 files changed, 12 insertions, 4 deletions
diff --git a/ebin/rabbit.app b/ebin/rabbit.app
index 70a1320855..0d714fdf3d 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 7bbed8b715..dee71d23d5 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;