diff options
author | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2017-02-14 10:25:08 +0300 |
---|---|---|
committer | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2017-02-14 10:25:08 +0300 |
commit | f664e39374875d486185a59cabdd50971d2631f6 (patch) | |
tree | 70edea452d35b390dcbfaba4c9dfb63699923cbd /src/mod_pubsub.erl | |
parent | Check result of gen_mod:start/2 callback (#1534) (diff) |
Improve modules start/stop procedures
Diffstat (limited to 'src/mod_pubsub.erl')
-rw-r--r-- | src/mod_pubsub.erl | 6 |
1 files changed, 4 insertions, 2 deletions
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), |