From 95ad67b47c25e97dd87704a37eba62e418be312c Mon Sep 17 00:00:00 2001 From: tigercl Date: Tue, 18 Dec 2018 14:55:37 +0800 Subject: [PATCH] Fix a bug that will not send a will message in some cases (#2068) * Fix a bug that will not send a will message in some cases --- src/emqx_session.erl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/emqx_session.erl b/src/emqx_session.erl index 12718b9fc..30b35bf11 100644 --- a/src/emqx_session.erl +++ b/src/emqx_session.erl @@ -963,8 +963,9 @@ ensure_expire_timer(State) -> ensure_will_delay_timer(State = #state{will_msg = #message{headers = #{'Will-Delay-Interval' := WillDelayInterval}}}) -> State#state{will_delay_timer = emqx_misc:start_timer(WillDelayInterval * 1000, will_delay)}; -ensure_will_delay_timer(State) -> - State. +ensure_will_delay_timer(State = #state{will_msg = WillMsg}) -> + send_willmsg(WillMsg), + State#state{will_msg = undefined}. ensure_stats_timer(State = #state{enable_stats = true, stats_timer = undefined, idle_timeout = IdleTimeout}) ->