summaryrefslogtreecommitdiff
path: root/src/mod_pubsub.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-02-14 10:25:08 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-02-14 10:25:08 +0300
commitf664e39374875d486185a59cabdd50971d2631f6 (patch)
tree70edea452d35b390dcbfaba4c9dfb63699923cbd /src/mod_pubsub.erl
parentCheck 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.erl6
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),