From 0545e0a797c32ce7292917bb1597a4332dacb3bf Mon Sep 17 00:00:00 2001 From: Evgeny Khramtsov Date: Mon, 8 Jul 2019 19:32:37 +0300 Subject: Ignore late arrival of an already cancelled timer --- src/mod_stream_mgmt.erl | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src') diff --git a/src/mod_stream_mgmt.erl b/src/mod_stream_mgmt.erl index 1ebff130c..030a36b80 100644 --- a/src/mod_stream_mgmt.erl +++ b/src/mod_stream_mgmt.erl @@ -257,6 +257,12 @@ c2s_handle_info(#{jid := JID} = State, {_Ref, {resume, OldState}}) -> [jid:encode(JID)]), route_unacked_stanzas(OldState#{mgmt_resend => false}), {stop, State}; +c2s_handle_info(State, {timeout, _, Timeout}) when Timeout == ack_timeout; + Timeout == pending_timeout -> + %% Late arrival of an already cancelled timer: we just ignore it. + %% This might happen because misc:cancel_timer/1 doesn't guarantee + %% timer cancelation in the case when p1_server is used. + {stop, State}; c2s_handle_info(State, _) -> State. -- cgit v1.2.3