summaryrefslogtreecommitdiff
path: root/src/mod_bosh_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_bosh_mnesia.erl
parentDon'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.erl17
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(