diff options
author | Badlop <badlop@process-one.net> | 2020-05-11 17:37:00 +0200 |
---|---|---|
committer | Badlop <badlop@process-one.net> | 2020-05-11 18:22:35 +0200 |
commit | 5e70a47f204ab62ff0250725753690662b6e4518 (patch) | |
tree | 8e6e2d70da8d20b333f7435934fd89836461d572 /src/mod_ping.erl | |
parent | mod_stun_disco: Bump credentials_lifetime default (diff) |
If new session Pid exists when sm_remove is called, then keep Ping (#3260)
Diffstat (limited to 'src/mod_ping.erl')
-rw-r--r-- | src/mod_ping.erl | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/mod_ping.erl b/src/mod_ping.erl index c83f471d2..5b4fab329 100644 --- a/src/mod_ping.erl +++ b/src/mod_ping.erl @@ -184,7 +184,14 @@ user_online(_SID, JID, _Info) -> -spec user_offline(ejabberd_sm:sid(), jid(), ejabberd_sm:info()) -> ok. user_offline(_SID, JID, _Info) -> - stop_ping(JID#jid.lserver, JID). + case ejabberd_sm:get_session_pid(JID#jid.luser, + JID#jid.lserver, + JID#jid.lresource) of + none -> + stop_ping(JID#jid.lserver, JID); + _ -> + ok + end. -spec user_send({stanza(), ejabberd_c2s:state()}) -> {stanza(), ejabberd_c2s:state()}. user_send({Packet, #{jid := JID} = C2SState}) -> |