summaryrefslogtreecommitdiff
path: root/src/mod_muc_mnesia.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-02-26 15:10:59 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-02-26 15:10:59 +0300
commitfadcc85553e2fa00c26233e36c0808f5d0089876 (patch)
treea1748f4fb465da1ec2a97c45517e731efec34894 /src/mod_muc_mnesia.erl
parentDon't fail on elements decoding (diff)
Put more stuff under supervision
Diffstat (limited to 'src/mod_muc_mnesia.erl')
-rw-r--r--src/mod_muc_mnesia.erl17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/mod_muc_mnesia.erl b/src/mod_muc_mnesia.erl
index f237c564..eaf8da6c 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},