Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/processone/ejabberd.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-02-14 12:39:26 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-02-14 12:39:26 +0300
commit28f66ddd7c3d39bbc694a32a396fc1c40296983e (patch)
tree901b1c79e4664b831ee9c0109516813a451c4820 /src/mod_echo.erl
parenta1e45ab56c5405fe2d5ea6a0b9eabc4e3450190d (diff)
Attach modules to gen_mod's supervisor
Diffstat (limited to 'src/mod_echo.erl')
-rw-r--r--src/mod_echo.erl38
1 files changed, 10 insertions, 28 deletions
diff --git a/src/mod_echo.erl b/src/mod_echo.erl
index 80e41494b..7c8722fce 100644
--- a/src/mod_echo.erl
+++ b/src/mod_echo.erl
@@ -32,8 +32,7 @@
-behaviour(gen_mod).
%% API
--export([start_link/2, start/2, stop/1,
- do_client_version/3]).
+-export([start/2, stop/1, do_client_version/3]).
-export([init/1, handle_call/3, handle_cast/2,
handle_info/2, terminate/2, code_change/3,
@@ -46,31 +45,20 @@
-record(state, {host = <<"">> :: binary()}).
--define(PROCNAME, ejabberd_mod_echo).
-
%%====================================================================
-%% API
+%% gen_mod API
%%====================================================================
-%%--------------------------------------------------------------------
-%% Function: start_link() -> {ok,Pid} | ignore | {error,Error}
-%% Description: Starts the server
-%%--------------------------------------------------------------------
-start_link(Host, Opts) ->
- Proc = gen_mod:get_module_proc(Host, ?PROCNAME),
- gen_server:start_link({local, Proc}, ?MODULE,
- [Host, Opts], []).
-
start(Host, Opts) ->
- Proc = gen_mod:get_module_proc(Host, ?PROCNAME),
- ChildSpec = {Proc, {?MODULE, start_link, [Host, Opts]},
- transient, 1000, worker, [?MODULE]},
- supervisor:start_child(ejabberd_sup, ChildSpec).
+ gen_mod:start_child(?MODULE, Host, Opts).
stop(Host) ->
- Proc = gen_mod:get_module_proc(Host, ?PROCNAME),
- supervisor:terminate_child(ejabberd_sup, Proc),
- supervisor:delete_child(ejabberd_sup, Proc),
- ok.
+ gen_mod:stop_child(?MODULE, Host).
+
+depends(_Host, _Opts) ->
+ [].
+
+mod_opt_type(host) -> fun iolist_to_binary/1;
+mod_opt_type(_) -> [host].
%%====================================================================
%% gen_server callbacks
@@ -190,9 +178,3 @@ do_client_version(enabled, From, To) ->
after 5000 -> % Timeout in miliseconds: 5 seconds
[]
end.
-
-depends(_Host, _Opts) ->
- [].
-
-mod_opt_type(host) -> fun iolist_to_binary/1;
-mod_opt_type(_) -> [host].