summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/background_gc.erl14
-rw-r--r--src/rabbit_alarm.erl5
2 files changed, 9 insertions, 10 deletions
diff --git a/src/background_gc.erl b/src/background_gc.erl
index 64b86b1859..34741eba70 100644
--- a/src/background_gc.erl
+++ b/src/background_gc.erl
@@ -18,7 +18,7 @@
-behaviour(gen_server2).
--export([start_link/0, gc_all/0]).
+-export([start_link/0, run/0]).
-export([init/1, handle_call/3, handle_cast/2, handle_info/2,
terminate/2, code_change/3]).
@@ -38,8 +38,8 @@ start_link() ->
gen_server2:start_link({local, ?MODULE}, ?MODULE, [],
[{timeout, infinity}]).
-gc_all() ->
- gen_server2:call(?MODULE, gc_all, infinity).
+run() ->
+ gen_server2:cast(?MODULE, gc_all).
%%----------------------------------------------------------------------------
@@ -47,13 +47,13 @@ init([]) ->
{ok, run_gc(#state{last_interval = ?IDEAL_INTERVAL}), hibernate,
{backoff, ?HIBERNATE_AFTER_MIN, ?HIBERNATE_AFTER_MIN, ?DESIRED_HIBERNATE}}.
-handle_call(gc_all, _From, State) ->
- do_gc(),
- {reply, ok, State, hibernate};
-
handle_call(Msg, _From, State) ->
{stop, {unexpected_call, Msg}, State}.
+handle_cast(gc_all, State) ->
+ do_gc(),
+ {noreply, State, hibernate};
+
handle_cast(Msg, State) ->
{stop, {unexpected_cast, Msg}, State}.
diff --git a/src/rabbit_alarm.erl b/src/rabbit_alarm.erl
index e5f8a1c4d2..d7d4d82a0d 100644
--- a/src/rabbit_alarm.erl
+++ b/src/rabbit_alarm.erl
@@ -57,9 +57,8 @@ start() ->
rabbit_sup:start_restartable_child(
vm_memory_monitor, [MemoryWatermark,
fun (Alarm) ->
- R = set_alarm(Alarm),
- background_gc:gc_all(),
- R
+ background_gc:run(),
+ set_alarm(Alarm)
end,
fun clear_alarm/1]),
{ok, DiskLimit} = application:get_env(disk_free_limit),