diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index ba8c6eab6..9f7ab4b89 100644 --- a/src/ejabberd_c2s.erl +++ b/src/ejabberd_c2s.erl @@ -1179,6 +1179,7 @@ session_established(closed, StateData) when StateData#state.resume_timeout > 0, StateData#state.sm_state == active orelse StateData#state.sm_state == pending -> + log_pending_state(StateData), fsm_next_state(wait_for_resume, StateData#state{sm_state = pending}); session_established(closed, StateData) -> {stop, normal, StateData}. @@ -1664,6 +1665,7 @@ handle_info({'DOWN', Monitor, _Type, _Object, _Info}, if StateData#state.resume_timeout > 0, StateData#state.sm_state == active orelse StateData#state.sm_state == pending -> + log_pending_state(StateData), fsm_next_state(wait_for_resume, StateData#state{sm_state = pending}); true -> {stop, normal, StateData} @@ -2785,6 +2787,12 @@ limit_queue_length(#state{jid = JID, StateData end. +log_pending_state(StateData) when StateData#state.sm_state /= pending -> + ?INFO_MSG("Waiting for resumption of stream for ~s", + [jlib:jid_to_string(StateData#state.jid)]); +log_pending_state(_StateData) -> + ok. + handle_unacked_stanzas(StateData, F) when StateData#state.sm_state == active; StateData#state.sm_state == pending -> Queue = StateData#state.ack_queue,