From: Evgeny Khramtsov Date: Thu, 8 Aug 2019 08:21:28 +0000 (+0300) Subject: Don't use close/2: set stop_reason explicitly X-Git-Tag: 19.09~57 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ced62e0df85877341f32bd49b92b88288411c55b;p=ejabberd Don't use close/2: set stop_reason explicitly Fixes #2984 --- diff --git a/src/mod_stream_mgmt.erl b/src/mod_stream_mgmt.erl index 042efc249..d149438c1 100644 --- a/src/mod_stream_mgmt.erl +++ b/src/mod_stream_mgmt.erl @@ -239,8 +239,9 @@ c2s_handle_info(#{mgmt_ack_timer := TRef, jid := JID, mod := Mod} = State, {timeout, TRef, ack_timeout}) -> ?DEBUG("Timed out waiting for stream management acknowledgement of ~s", [jid:encode(JID)]), - State1 = Mod:close(State, ack_timeout), - {stop, transition_to_pending(State1, ack_timeout)}; + State1 = Mod:close(State), + State2 = State1#{stop_reason => {socket, ack_timeout}}, + {stop, transition_to_pending(State2, ack_timeout)}; c2s_handle_info(#{mgmt_state := pending, lang := Lang, mgmt_pending_timer := TRef, jid := JID, mod := Mod} = State, {timeout, TRef, pending_timeout}) ->