From f664e39374875d486185a59cabdd50971d2631f6 Mon Sep 17 00:00:00 2001 From: Evgeniy Khramtsov Date: Tue, 14 Feb 2017 10:25:08 +0300 Subject: Improve modules start/stop procedures --- src/mod_pubsub.erl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/mod_pubsub.erl') diff --git a/src/mod_pubsub.erl b/src/mod_pubsub.erl index 93c9abe7..8acfdb7c 100644 --- a/src/mod_pubsub.erl +++ b/src/mod_pubsub.erl @@ -231,8 +231,9 @@ start(Host, Opts) -> stop(Host) -> Proc = gen_mod:get_module_proc(Host, ?PROCNAME), - gen_server:call(Proc, stop), - supervisor:delete_child(ejabberd_sup, Proc). + supervisor:terminate_child(ejabberd_sup, Proc), + supervisor:delete_child(ejabberd_sup, Proc), + ok. %%==================================================================== %% gen_server callbacks @@ -248,6 +249,7 @@ stop(Host) -> -spec init([binary() | [{_,_}],...]) -> {'ok',state()}. init([ServerHost, Opts]) -> + process_flag(trap_exit, true), ?DEBUG("pubsub init ~p ~p", [ServerHost, Opts]), Host = gen_mod:get_opt_host(ServerHost, Opts, <<"pubsub.@HOST@">>), ejabberd_router:register_route(Host, ServerHost), -- cgit v1.2.3