From 73847b96fcd0eed8f6317fe7ca481cd7b50f634d Mon Sep 17 00:00:00 2001 From: Feng Lee Date: Thu, 23 Feb 2017 17:16:55 +0800 Subject: [PATCH] Add 'FULLSWEEP_OPTS' macro --- include/emqttd_internal.hrl | 2 ++ src/emqttd_client.erl | 3 ++- src/emqttd_session.erl | 2 +- src/emqttd_ws_client.erl | 4 +++- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/include/emqttd_internal.hrl b/include/emqttd_internal.hrl index ec5fb3e73..fc482313f 100644 --- a/include/emqttd_internal.hrl +++ b/include/emqttd_internal.hrl @@ -58,3 +58,5 @@ false-> (FalseFun) end)). +-define(FULLSWEEP_OPTS, [{fullsweep_after, 10}]). + diff --git a/src/emqttd_client.erl b/src/emqttd_client.erl index 3cc7b341d..cd7ab45d0 100644 --- a/src/emqttd_client.erl +++ b/src/emqttd_client.erl @@ -66,7 +66,8 @@ [esockd_net:format(State#client_state.peername) | Args])). start_link(Conn, Env) -> - {ok, proc_lib:spawn_link(?MODULE, init, [[Conn, Env]], [{fullsweep_after, 10}])}. + {ok, proc_lib:spawn_opt(?MODULE, init, [[Conn, Env]], + [{spawn_opt, [link | ?FULLSWEEP_OPTS]}])}. info(CPid) -> gen_server2:call(CPid, info). diff --git a/src/emqttd_session.erl b/src/emqttd_session.erl index 1c575b3ed..1ee57b575 100644 --- a/src/emqttd_session.erl +++ b/src/emqttd_session.erl @@ -171,7 +171,7 @@ -spec(start_link(boolean(), {mqtt_client_id(), mqtt_username()}, pid()) -> {ok, pid()} | {error, any()}). start_link(CleanSess, {ClientId, Username}, ClientPid) -> gen_server2:start_link(?MODULE, [CleanSess, {ClientId, Username}, ClientPid], - [{fullsweep_after, 10}]). %% Tune GC. + [{spawn_opt, ?FULLSWEEP_OPTS}]). %% Tune GC. %%-------------------------------------------------------------------- %% PubSub API diff --git a/src/emqttd_ws_client.erl b/src/emqttd_ws_client.erl index 4faa44624..1d181e1bb 100644 --- a/src/emqttd_ws_client.erl +++ b/src/emqttd_ws_client.erl @@ -26,6 +26,8 @@ -include("emqttd_protocol.hrl"). +-include("emqttd_internal.hrl"). + -import(proplists, [get_value/3]). %% API Exports @@ -60,7 +62,7 @@ %% @doc Start WebSocket Client. start_link(Env, WsPid, Req, ReplyChannel) -> gen_server2:start_link(?MODULE, [Env, WsPid, Req, ReplyChannel], - [{fullsweep_after, 10}]). %% Tune GC. + [{spawn_opt, ?FULLSWEEP_OPTS}]). %% Tune GC. info(CPid) -> gen_server2:call(CPid, info).