aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_c2s.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/ejabberd_c2s.erl')
-rw-r--r--src/ejabberd_c2s.erl11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl
index 5510cdd70..73c0a438b 100644
--- a/src/ejabberd_c2s.erl
+++ b/src/ejabberd_c2s.erl
@@ -75,6 +75,15 @@
-define(FSMOPTS, []).
-endif.
+%% Module start with or without supervisor:
+-ifdef(NO_TRANSIENT_SUPERVISORS).
+-define(SUPERVISOR_START, gen_fsm:start(ejabberd_c2s, [SockData, Opts],
+ ?FSMOPTS)).
+-else.
+-define(SUPERVISOR_START, supervisor:start_child(ejabberd_c2s_sup,
+ [SockData, Opts])).
+-endif.
+
-define(STREAM_HEADER,
"<?xml version='1.0'?>"
"<stream:stream xmlns='jabber:client' "
@@ -97,7 +106,7 @@
%%% API
%%%----------------------------------------------------------------------
start(SockData, Opts) ->
- supervisor:start_child(ejabberd_c2s_sup, [SockData, Opts]).
+ ?SUPERVISOR_START.
start_link(SockData, Opts) ->
gen_fsm:start_link(ejabberd_c2s, [SockData, Opts], ?FSMOPTS).