aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_sm_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/ejabberd_sm_mnesia.erl
parentDon't fail on elements decoding (diff)
Put more stuff under supervision
Diffstat (limited to 'src/ejabberd_sm_mnesia.erl')
-rw-r--r--src/ejabberd_sm_mnesia.erl16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/ejabberd_sm_mnesia.erl b/src/ejabberd_sm_mnesia.erl
index 028f301ed..35fc42e9d 100644
--- a/src/ejabberd_sm_mnesia.erl
+++ b/src/ejabberd_sm_mnesia.erl
@@ -38,7 +38,7 @@
%% gen_server callbacks
-export([init/1, handle_call/3, handle_cast/2, handle_info/2,
- terminate/2, code_change/3]).
+ terminate/2, code_change/3, start_link/0]).
-include("ejabberd.hrl").
-include("ejabberd_sm.hrl").
@@ -51,13 +51,17 @@
%%%===================================================================
-spec init() -> ok | {error, any()}.
init() ->
- case gen_server:start_link({local, ?MODULE}, ?MODULE, [], []) of
- {ok, _Pid} ->
- ok;
- Err ->
- Err
+ Spec = {?MODULE, {?MODULE, start_link, []},
+ transient, 5000, worker, [?MODULE]},
+ case supervisor:start_child(ejabberd_backend_sup, Spec) of
+ {ok, _Pid} -> ok;
+ Err -> Err
end.
+-spec start_link() -> {ok, pid()} | {error, any()}.
+start_link() ->
+ gen_server:start_link({local, ?MODULE}, ?MODULE, [], []).
+
-spec set_session(#session{}) -> ok.
set_session(Session) ->
mnesia:dirty_write(Session).