Преглед изворни кода

Fix a bug that will not send a will message in some cases

周子博 пре 7 година
родитељ
комит
675edf3fab
1 измењених фајлова са 2 додато и 1 уклоњено
  1. 2 1
      src/emqx_session.erl

+ 2 - 1
src/emqx_session.erl

@@ -963,7 +963,8 @@ ensure_expire_timer(State) ->
 
 
 ensure_will_delay_timer(State = #state{will_msg = #message{headers = #{'Will-Delay-Interval' := WillDelayInterval}}}) ->
 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)};
     State#state{will_delay_timer = emqx_misc:start_timer(WillDelayInterval * 1000, will_delay)};
-ensure_will_delay_timer(State) ->
+ensure_will_delay_timer(State = #state{will_msg = WillMsg}) ->
+    send_willmsg(WillMsg),
     State.
     State.
 
 
 ensure_stats_timer(State = #state{enable_stats = true, stats_timer = undefined,
 ensure_stats_timer(State = #state{enable_stats = true, stats_timer = undefined,