aboutsummaryrefslogtreecommitdiff
path: root/src/gen_mod.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/gen_mod.erl')
-rw-r--r--src/gen_mod.erl13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/gen_mod.erl b/src/gen_mod.erl
index bf83fe13d..1ebaa17c3 100644
--- a/src/gen_mod.erl
+++ b/src/gen_mod.erl
@@ -152,7 +152,7 @@ sort_modules(Host, ModOpts) ->
[Mod, DepMod]),
?ERROR_MSG(ErrTxt, []),
digraph:del_vertex(G, Mod),
- maybe_halt_ejabberd(ErrTxt);
+ maybe_halt_ejabberd();
false when Type == soft ->
?WARNING_MSG("Module '~s' is recommended for "
"module '~s' but is not found in "
@@ -240,11 +240,11 @@ start_module(Host, Module, Opts0, Order, NeedValidation) ->
erlang:get_stacktrace()])
end,
?CRITICAL_MSG(ErrorText, []),
- maybe_halt_ejabberd(ErrorText),
+ maybe_halt_ejabberd(),
erlang:raise(Class, Reason, erlang:get_stacktrace())
end;
- {error, ErrorText} ->
- maybe_halt_ejabberd(ErrorText)
+ {error, _ErrorText} ->
+ maybe_halt_ejabberd()
end.
-spec reload_modules(binary()) -> ok.
@@ -318,14 +318,13 @@ store_options(Host, Module, Opts, Order) ->
#ejabberd_module{module_host = {Module, Host},
opts = Opts, order = Order}).
-maybe_halt_ejabberd(ErrorText) ->
+maybe_halt_ejabberd() ->
case is_app_running(ejabberd) of
false ->
?CRITICAL_MSG("ejabberd initialization was aborted "
"because a module start failed.",
[]),
- timer:sleep(3000),
- erlang:halt(string:substr(lists:flatten(ErrorText), 1, 199));
+ ejabberd:halt();
true ->
ok
end.