aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_app.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/ejabberd_app.erl')
-rw-r--r--src/ejabberd_app.erl16
1 files changed, 5 insertions, 11 deletions
diff --git a/src/ejabberd_app.erl b/src/ejabberd_app.erl
index 214c38b21..b23249aa0 100644
--- a/src/ejabberd_app.erl
+++ b/src/ejabberd_app.erl
@@ -46,9 +46,9 @@ start(normal, _Args) ->
start_apps(),
start_elixir_application(),
ejabberd:check_app(ejabberd),
- ejabberd_mnesia:start(),
setup_if_elixir_conf_used(),
ejabberd_config:start(),
+ ejabberd_mnesia:start(),
set_settings_from_config(),
file_queue_init(),
maybe_add_nameservers(),
@@ -59,6 +59,7 @@ start(normal, _Args) ->
{T2, _} = statistics(wall_clock),
?INFO_MSG("ejabberd ~s is started in the node ~p in ~.2fs",
[?VERSION, node(), (T2-T1)/1000]),
+ lists:foreach(fun erlang:garbage_collect/1, processes()),
{ok, SupPid};
Err ->
Err
@@ -88,12 +89,7 @@ stop(_State) ->
%%%
connect_nodes() ->
- Nodes = ejabberd_config:get_option(
- cluster_nodes,
- fun(Ns) ->
- true = lists:all(fun is_atom/1, Ns),
- Ns
- end, []),
+ Nodes = ejabberd_config:get_option(cluster_nodes, []),
lists:foreach(fun(Node) ->
net_kernel:connect_node(Node)
end, Nodes).
@@ -141,10 +137,7 @@ delete_pid_file() ->
end.
set_settings_from_config() ->
- Ticktime = ejabberd_config:get_option(
- net_ticktime,
- opt_type(net_ticktime),
- 60),
+ Ticktime = ejabberd_config:get_option(net_ticktime, 60),
net_kernel:set_net_ticktime(Ticktime).
file_queue_init() ->
@@ -161,6 +154,7 @@ start_apps() ->
crypto:start(),
ejabberd:start_app(sasl),
ejabberd:start_app(ssl),
+ ejabberd:start_app(p1_utils),
ejabberd:start_app(fast_yaml),
ejabberd:start_app(fast_tls),
ejabberd:start_app(xmpp),