summaryrefslogtreecommitdiff
path: root/src/ejabberd_config.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-02-23 10:12:19 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-02-23 10:12:19 +0300
commit7d6811226536fe260d83617a16fd741edb2d97f3 (patch)
tree4a0745ff2168078cf83233bcb68bafcf6cbd4e01 /src/ejabberd_config.erl
parentRemove unused macro (diff)
Start/stop virtual hosts when reloading configuration file
Diffstat (limited to 'src/ejabberd_config.erl')
-rw-r--r--src/ejabberd_config.erl10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/ejabberd_config.erl b/src/ejabberd_config.erl
index ff0f7b3e..c79c0cd2 100644
--- a/src/ejabberd_config.erl
+++ b/src/ejabberd_config.erl
@@ -194,7 +194,17 @@ load_file(File) ->
reload_file() ->
Config = get_ejabberd_config_path(),
+ OldHosts = get_myhosts(),
load_file(Config),
+ NewHosts = get_myhosts(),
+ lists:foreach(
+ fun(Host) ->
+ ejabberd_hooks:run(host_up, [Host])
+ end, NewHosts -- OldHosts),
+ lists:foreach(
+ fun(Host) ->
+ ejabberd_hooks:run(host_down, [Host])
+ end, OldHosts -- NewHosts),
ejabberd_hooks:run(config_reloaded, []).
-spec convert_to_yaml(file:filename()) -> ok | {error, any()}.