diff options
author | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2017-02-26 15:10:59 +0300 |
---|---|---|
committer | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2017-02-26 15:10:59 +0300 |
commit | fadcc85553e2fa00c26233e36c0808f5d0089876 (patch) | |
tree | a1748f4fb465da1ec2a97c45517e731efec34894 /src/mod_muc_mnesia.erl | |
parent | Don't fail on elements decoding (diff) |
Put more stuff under supervision
Diffstat (limited to '')
-rw-r--r-- | src/mod_muc_mnesia.erl | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/mod_muc_mnesia.erl b/src/mod_muc_mnesia.erl index f237c564f..eaf8da6c3 100644 --- a/src/mod_muc_mnesia.erl +++ b/src/mod_muc_mnesia.erl @@ -37,7 +37,7 @@ -export([set_affiliation/6, set_affiliations/4, get_affiliation/5, get_affiliations/3, search_affiliation/4]). %% gen_server callbacks --export([init/1, handle_cast/2, handle_call/3, handle_info/2, +-export([start_link/2, init/1, handle_cast/2, handle_call/3, handle_info/2, terminate/2, code_change/3]). -include("mod_muc.hrl"). @@ -51,14 +51,17 @@ %%% API %%%=================================================================== init(Host, Opts) -> - Name = gen_mod:get_module_proc(Host, ?MODULE), - case gen_server:start_link({local, Name}, ?MODULE, [Host, Opts], []) of - {ok, _Pid} -> - ok; - Err -> - Err + Spec = {?MODULE, {?MODULE, start_link, [Host, Opts]}, + transient, 5000, worker, [?MODULE]}, + case supervisor:start_child(ejabberd_backend_sup, Spec) of + {ok, _Pid} -> ok; + Err -> Err end. +start_link(Host, Opts) -> + Name = gen_mod:get_module_proc(Host, ?MODULE), + gen_server:start_link({local, Name}, ?MODULE, [Host, Opts], []). + store_room(_LServer, Host, Name, Opts) -> F = fun () -> mnesia:write(#muc_room{name_host = {Name, Host}, |