diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index c82f1a34c..f48f44add 100644 --- a/src/ejabberd_c2s.erl +++ b/src/ejabberd_c2s.erl @@ -1202,6 +1202,7 @@ session_established({xmlstreamerror, _}, StateData) -> send_trailer(StateData), {stop, normal, StateData}; session_established(closed, #state{mgmt_state = active} = StateData) -> + catch (StateData#state.sockmod):close(StateData#state.socket), fsm_next_state(wait_for_resume, StateData); session_established(closed, StateData) -> {stop, normal, StateData}.