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
commit627c88872a8cd2443a02e257783b2348df543c03 (patch)
tree62d197d099b716138296b405bd57417de28530df
parenta48c3dd7d69115f780b7efc81aebf7ff6f77f1fc (diff)
parentd5571e3a410d7ca69b862d6ddccc4fea65ce9b9c (diff)
downloadrabbitmq-server-627c88872a8cd2443a02e257783b2348df543c03.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 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;