summaryrefslogtreecommitdiff
path: root/src/vm_memory_monitor.erl
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2011-10-20 00:17:44 +0100
committerMatthias Radestock <matthias@rabbitmq.com>2011-10-20 00:17:44 +0100
commit55bc75b7a559a28f9e6ca5fdd5737cc609fcc86b (patch)
tree7e3701c1974ccd4bbdf283318016ff671c11a451 /src/vm_memory_monitor.erl
parent8dd2e7c274ef231f9625cb7066fb8fb546f7552a (diff)
downloadrabbitmq-server-55bc75b7a559a28f9e6ca5fdd5737cc609fcc86b.tar.gz
replace timer:apply_interval with timer:send_intervalbug24508
The latter doesn't churn processes and doesn't require exporting of functions we otherwise wouldn't.
Diffstat (limited to 'src/vm_memory_monitor.erl')
-rw-r--r--src/vm_memory_monitor.erl14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/vm_memory_monitor.erl b/src/vm_memory_monitor.erl
index 35ee1e51..8973a4f7 100644
--- a/src/vm_memory_monitor.erl
+++ b/src/vm_memory_monitor.erl
@@ -32,7 +32,7 @@
-export([init/1, handle_call/3, handle_cast/2, handle_info/2,
terminate/2, code_change/3]).
--export([update/0, get_total_memory/0, get_vm_limit/0,
+-export([get_total_memory/0, get_vm_limit/0,
get_check_interval/0, set_check_interval/1,
get_vm_memory_high_watermark/0, set_vm_memory_high_watermark/1,
get_memory_limit/0]).
@@ -59,7 +59,6 @@
-ifdef(use_specs).
-spec(start_link/1 :: (float()) -> rabbit_types:ok_pid_or_error()).
--spec(update/0 :: () -> 'ok').
-spec(get_total_memory/0 :: () -> (non_neg_integer() | 'unknown')).
-spec(get_vm_limit/0 :: () -> non_neg_integer()).
-spec(get_check_interval/0 :: () -> non_neg_integer()).
@@ -74,9 +73,6 @@
%% Public API
%%----------------------------------------------------------------------------
-update() ->
- gen_server:cast(?SERVER, update).
-
get_total_memory() ->
get_total_memory(os:type()).
@@ -135,12 +131,12 @@ handle_call(get_memory_limit, _From, State) ->
handle_call(_Request, _From, State) ->
{noreply, State}.
-handle_cast(update, State) ->
- {noreply, internal_update(State)};
-
handle_cast(_Request, State) ->
{noreply, State}.
+handle_info(update, State) ->
+ {noreply, internal_update(State)};
+
handle_info(_Info, State) ->
{noreply, State}.
@@ -200,7 +196,7 @@ emit_update_info(State, MemUsed, MemLimit) ->
[State, MemUsed, MemLimit]).
start_timer(Timeout) ->
- {ok, TRef} = timer:apply_interval(Timeout, ?MODULE, update, []),
+ {ok, TRef} = timer:send_interval(Timeout, update),
TRef.
%% According to http://msdn.microsoft.com/en-us/library/aa366778(VS.85).aspx