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/ejabberd_sm_mnesia.erl | |
parent | Don'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.erl | 16 |
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). |