diff options
author | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2017-03-28 16:31:37 +0300 |
---|---|---|
committer | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2017-03-28 16:31:37 +0300 |
commit | 117f31125d4d1e39f6bf639360ff37a44664dbb2 (patch) | |
tree | c9ce313e6f7d2d82ac0f1543354ec86c2cbb978e /src/ejabberd_local.erl | |
parent | Fix PEP issues (#1636) (diff) |
Add SQL as router RAM backend
Diffstat (limited to 'src/ejabberd_local.erl')
-rw-r--r-- | src/ejabberd_local.erl | 7 |
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). |