From 0e2e4e73ca925a443f3f8e1efd47724c73f9fdb5 Mon Sep 17 00:00:00 2001 From: terry-xiaoyu <506895667@qq.com> Date: Wed, 26 Jun 2019 14:32:01 +0800 Subject: [PATCH] Clean staled sesssions --- src/emqx_session.erl | 4 ++-- src/emqx_sm.erl | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/emqx_session.erl b/src/emqx_session.erl index 7d8722c68..b4a3032ce 100644 --- a/src/emqx_session.erl +++ b/src/emqx_session.erl @@ -321,7 +321,7 @@ resume(SPid, SessAttrs) -> %% @doc Discard the session -spec(discard(spid(), ByPid :: pid()) -> ok). discard(SPid, ByPid) -> - gen_server:call(SPid, {discard, ByPid}, infinity). + gen_server:call(SPid, {discard, ByPid}). -spec(update_expiry_interval(spid(), timeout()) -> ok). update_expiry_interval(SPid, Interval) -> @@ -329,7 +329,7 @@ update_expiry_interval(SPid, Interval) -> -spec(close(spid()) -> ok). close(SPid) -> - gen_server:call(SPid, close, infinity). + gen_server:call(SPid, close). %%------------------------------------------------------------------------------ %% gen_server callbacks diff --git a/src/emqx_sm.erl b/src/emqx_sm.erl index 256425f5a..f6f2fbf47 100644 --- a/src/emqx_sm.erl +++ b/src/emqx_sm.erl @@ -116,6 +116,7 @@ discard_session(ClientId, ConnPid) when is_binary(ClientId) -> try emqx_session:discard(SessPid, ConnPid) catch _:Error:_Stk -> + unregister_session(ClientId, SessPid), ?LOG(warning, "Failed to discard ~p: ~p", [SessPid, Error]) end end, lookup_session_pids(ClientId)).