summaryrefslogtreecommitdiff
path: root/src/ejabberd_local.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-03-28 16:31:37 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-03-28 16:31:37 +0300
commit117f31125d4d1e39f6bf639360ff37a44664dbb2 (patch)
treec9ce313e6f7d2d82ac0f1543354ec86c2cbb978e /src/ejabberd_local.erl
parentFix PEP issues (#1636) (diff)
Add SQL as router RAM backend
Diffstat (limited to 'src/ejabberd_local.erl')
-rw-r--r--src/ejabberd_local.erl7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/ejabberd_local.erl b/src/ejabberd_local.erl
index 196e5032..d2f1b20d 100644
--- a/src/ejabberd_local.erl
+++ b/src/ejabberd_local.erl
@@ -197,6 +197,7 @@ get_features(_, _, XMLNSs) ->
%%====================================================================
init([]) ->
+ process_flag(trap_exit, true),
lists:foreach(fun host_up/1, ?MYHOSTS),
ejabberd_hooks:add(host_up, ?MODULE, host_up, 10),
ejabberd_hooks:add(host_down, ?MODULE, host_down, 100),
@@ -288,7 +289,11 @@ host_up(Host) ->
?MODULE, bounce_resource_packet, 100).
host_down(Host) ->
- ejabberd_router:unregister_route(Host),
+ Owner = case whereis(?MODULE) of
+ undefined -> self();
+ Pid -> Pid
+ end,
+ ejabberd_router:unregister_route(Host, Owner),
ejabberd_hooks:delete(local_send_to_resource_hook, Host,
?MODULE, bounce_resource_packet, 100).