aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Romain <christophe.romain@process-one.net>2017-08-10 12:17:31 +0200
committerChristophe Romain <christophe.romain@process-one.net>2017-08-10 12:17:31 +0200
commit7d626b4f5cc945a57e52288dd65494b21663cf51 (patch)
tree3a8e701c126a07af306e6dc805febd115805eeaf
parentFix pubsub send_loop after 3fec7824 (diff)
Add support of section 4.9.3.16 on rfc6120
-rw-r--r--src/ejabberd_sm.erl6
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