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_bosh_mnesia.erl | |
parent | Don't fail on elements decoding (diff) |
Put more stuff under supervision
Diffstat (limited to 'src/mod_bosh_mnesia.erl')
-rw-r--r-- | src/mod_bosh_mnesia.erl | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/mod_bosh_mnesia.erl b/src/mod_bosh_mnesia.erl index b61ef20a..b96d88d1 100644 --- a/src/mod_bosh_mnesia.erl +++ b/src/mod_bosh_mnesia.erl @@ -29,7 +29,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("logger.hrl"). @@ -42,14 +42,19 @@ %%%=================================================================== %%% API %%%=================================================================== +-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, [], []). + open_session(SID, Pid) -> Session = #bosh{sid = SID, timestamp = p1_time_compat:timestamp(), pid = Pid}, lists:foreach( |