diff options
author | Christophe Romain <christophe.romain@process-one.net> | 2017-08-10 12:17:31 +0200 |
---|---|---|
committer | Christophe Romain <christophe.romain@process-one.net> | 2017-08-10 12:17:31 +0200 |
commit | 7d626b4f5cc945a57e52288dd65494b21663cf51 (patch) | |
tree | 3a8e701c126a07af306e6dc805febd115805eeaf | |
parent | Fix pubsub send_loop after 3fec7824 (diff) |
Add support of section 4.9.3.16 on rfc6120
-rw-r--r-- | src/ejabberd_sm.erl | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/ejabberd_sm.erl b/src/ejabberd_sm.erl index f7f7447bf..5771a5bbf 100644 --- a/src/ejabberd_sm.erl +++ b/src/ejabberd_sm.erl @@ -489,9 +489,13 @@ host_up(Host) -> -spec host_down(binary()) -> ok. host_down(Host) -> Mod = get_sm_backend(Host), + Err = case ejabberd_cluster:get_nodes() of + [Node] when Node == node() -> xmpp:serr_system_shutdown(); + _ -> xmpp:serr_reset() + end, lists:foreach( fun(#session{sid = {_, Pid}}) when node(Pid) == node() -> - ejabberd_c2s:send(Pid, xmpp:serr_system_shutdown()), + ejabberd_c2s:send(Pid, Err), ejabberd_c2s:stop(Pid); (_) -> ok |