summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Romain <christophe.romain@process-one.net>2015-11-04 16:24:35 +0100
committerChristophe Romain <christophe.romain@process-one.net>2015-11-04 16:24:35 +0100
commit341be9b6820d2d2ee0113dce3f66b0d6571fd95f (patch)
treedebe59f56f02704a81bdf5b9a99e5c9b43832946
parentAdd copyright and license to HTTP upload modules (diff)
Remove supervisor option, disable it for c2s and muc
Diffstat (limited to '')
-rw-r--r--configure.ac9
-rw-r--r--rebar.config.script2
-rw-r--r--src/ejabberd_c2s.erl13
-rw-r--r--src/ejabberd_s2s_in.erl19
-rw-r--r--src/ejabberd_s2s_out.erl12
-rw-r--r--src/ejabberd_sup.erl8
-rw-r--r--src/mod_muc.erl15
-rw-r--r--src/mod_muc_room.erl25
-rw-r--r--vars.config.in1
9 files changed, 14 insertions, 90 deletions
diff --git a/configure.ac b/configure.ac
index c7e7bcd4..57b9aa74 100644
--- a/configure.ac
+++ b/configure.ac
@@ -83,14 +83,6 @@ AC_ARG_ENABLE(roster_gateway_workaround,
*) AC_MSG_ERROR(bad value ${enableval} for --enable-roster-gateway-workaround) ;;
esac],[roster_gateway_workaround=false])
-AC_ARG_ENABLE(transient_supervisors,
-[AC_HELP_STRING([--disable-transient-supervisors], [disable Erlang supervision for transient processes (default: no)])],
-[case "${enableval}" in
- yes) transient_supervisors=true ;;
- no) transient_supervisors=false ;;
- *) AC_MSG_ERROR(bad value ${enableval} for --enable-transient_supervisors) ;;
-esac],[transient_supervisors=true])
-
AC_ARG_ENABLE(full_xml,
[AC_HELP_STRING([--enable-full-xml], [use XML features in XMPP stream (ex: CDATA) (default: no, requires XML compliant clients)])],
[case "${enableval}" in
@@ -256,7 +248,6 @@ fi
AC_SUBST(hipe)
AC_SUBST(roster_gateway_workaround)
-AC_SUBST(transient_supervisors)
AC_SUBST(full_xml)
AC_SUBST(nif)
AC_SUBST(db_type)
diff --git a/rebar.config.script b/rebar.config.script
index e0a8923c..cdd2a65c 100644
--- a/rebar.config.script
+++ b/rebar.config.script
@@ -19,8 +19,6 @@ Cfg = case file:consult("vars.config") of
Macros = lists:flatmap(
fun({roster_gateway_workaround, true}) ->
[{d, 'ROSTER_GATEWAY_WORKAROUND'}];
- ({transient_supervisors, false}) ->
- [{d, 'NO_TRANSIENT_SUPERVISORS'}];
({nif, true}) ->
[{d, 'NIF'}];
({db_type, mssql}) ->
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl
index 69b46523..57cf5064 100644
--- a/src/ejabberd_c2s.erl
+++ b/src/ejabberd_c2s.erl
@@ -129,15 +129,6 @@
-endif.
-%% Module start with or without supervisor:
--ifdef(NO_TRANSIENT_SUPERVISORS).
--define(SUPERVISOR_START, ?GEN_FSM:start(ejabberd_c2s, [SockData, Opts],
- fsm_limit_opts(Opts) ++ ?FSMOPTS)).
--else.
--define(SUPERVISOR_START, supervisor:start_child(ejabberd_c2s_sup,
- [SockData, Opts])).
--endif.
-
%% This is the timeout to apply between event when starting a new
%% session:
-define(C2S_OPEN_TIMEOUT, 60000).
@@ -201,7 +192,9 @@
%%% API
%%%----------------------------------------------------------------------
start(SockData, Opts) ->
- ?SUPERVISOR_START.
+ ?GEN_FSM:start(ejabberd_c2s,
+ [SockData, Opts],
+ fsm_limit_opts(Opts) ++ ?FSMOPTS).
start_link(SockData, Opts) ->
(?GEN_FSM):start_link(ejabberd_c2s,
diff --git a/src/ejabberd_s2s_in.erl b/src/ejabberd_s2s_in.erl
index d840c315..e655397b 100644
--- a/src/ejabberd_s2s_in.erl
+++ b/src/ejabberd_s2s_in.erl
@@ -74,21 +74,6 @@
-endif.
-%% Module start with or without supervisor:
--ifdef(NO_TRANSIENT_SUPERVISORS).
-
--define(SUPERVISOR_START,
- p1_fsm:start(ejabberd_s2s_in, [SockData, Opts],
- ?FSMOPTS ++ fsm_limit_opts(Opts))).
-
--else.
-
--define(SUPERVISOR_START,
- supervisor:start_child(ejabberd_s2s_in_sup,
- [SockData, Opts])).
-
--endif.
-
-define(STREAM_HEADER(Version),
<<"<?xml version='1.0'?><stream:stream "
"xmlns:stream='http://etherx.jabber.org/stream"
@@ -111,7 +96,9 @@
-define(INVALID_XML_ERR,
xml:element_to_binary(?SERR_XML_NOT_WELL_FORMED)).
-start(SockData, Opts) -> ?SUPERVISOR_START.
+start(SockData, Opts) ->
+ supervisor:start_child(ejabberd_s2s_in_sup,
+ [SockData, Opts]).
start_link(SockData, Opts) ->
p1_fsm:start_link(ejabberd_s2s_in, [SockData, Opts],
diff --git a/src/ejabberd_s2s_out.erl b/src/ejabberd_s2s_out.erl
index bc815166..73aa10ff 100644
--- a/src/ejabberd_s2s_out.erl
+++ b/src/ejabberd_s2s_out.erl
@@ -86,15 +86,6 @@
-endif.
-%% Module start with or without supervisor:
--ifdef(NO_TRANSIENT_SUPERVISORS).
--define(SUPERVISOR_START, p1_fsm:start(ejabberd_s2s_out, [From, Host, Type],
- fsm_limit_opts() ++ ?FSMOPTS)).
--else.
--define(SUPERVISOR_START, supervisor:start_child(ejabberd_s2s_out_sup,
- [From, Host, Type])).
--endif.
-
-define(FSMTIMEOUT, 30000).
%% We do not block on send anymore.
@@ -127,7 +118,8 @@
%%% API
%%%----------------------------------------------------------------------
start(From, Host, Type) ->
- ?SUPERVISOR_START.
+ supervisor:start_child(ejabberd_s2s_out_sup,
+ [From, Host, Type]).
start_link(From, Host, Type) ->
p1_fsm:start_link(ejabberd_s2s_out, [From, Host, Type],
diff --git a/src/ejabberd_sup.erl b/src/ejabberd_sup.erl
index da25af2c..e8d3ce83 100644
--- a/src/ejabberd_sup.erl
+++ b/src/ejabberd_sup.erl
@@ -105,13 +105,6 @@ init([]) ->
infinity,
supervisor,
[ejabberd_tmp_sup]},
- C2SSupervisor =
- {ejabberd_c2s_sup,
- {ejabberd_tmp_sup, start_link, [ejabberd_c2s_sup, ejabberd_c2s]},
- permanent,
- infinity,
- supervisor,
- [ejabberd_tmp_sup]},
S2SInSupervisor =
{ejabberd_s2s_in_sup,
{ejabberd_tmp_sup, start_link,
@@ -170,7 +163,6 @@ init([]) ->
Local,
Captcha,
ReceiverSupervisor,
- C2SSupervisor,
S2SInSupervisor,
S2SOutSupervisor,
ServiceSupervisor,
diff --git a/src/mod_muc.erl b/src/mod_muc.erl
index 05148f8e..890687cd 100644
--- a/src/mod_muc.erl
+++ b/src/mod_muc.erl
@@ -91,7 +91,6 @@ start_link(Host, Opts) ->
[Host, Opts], []).
start(Host, Opts) ->
- start_supervisor(Host),
Proc = gen_mod:get_module_proc(Host, ?PROCNAME),
ChildSpec = {Proc, {?MODULE, start_link, [Host, Opts]},
temporary, 1000, worker, [?MODULE]},
@@ -99,7 +98,6 @@ start(Host, Opts) ->
stop(Host) ->
Rooms = shutdown_rooms(Host),
- stop_supervisor(Host),
Proc = gen_mod:get_module_proc(Host, ?PROCNAME),
gen_server:call(Proc, stop),
supervisor:delete_child(ejabberd_sup, Proc),
@@ -444,19 +442,6 @@ code_change(_OldVsn, State, _Extra) -> {ok, State}.
%%--------------------------------------------------------------------
%%% Internal functions
%%--------------------------------------------------------------------
-start_supervisor(Host) ->
- Proc = gen_mod:get_module_proc(Host,
- ejabberd_mod_muc_sup),
- ChildSpec = {Proc,
- {ejabberd_tmp_sup, start_link, [Proc, mod_muc_room]},
- permanent, infinity, supervisor, [ejabberd_tmp_sup]},
- supervisor:start_child(ejabberd_sup, ChildSpec).
-
-stop_supervisor(Host) ->
- Proc = gen_mod:get_module_proc(Host,
- ejabberd_mod_muc_sup),
- supervisor:terminate_child(ejabberd_sup, Proc),
- supervisor:delete_child(ejabberd_sup, Proc).
do_route(Host, ServerHost, Access, HistorySize, RoomShaper,
From, To, Packet, DefRoomOpts) ->
diff --git a/src/mod_muc_room.erl b/src/mod_muc_room.erl
index cf26bdea..dcf276b8 100644
--- a/src/mod_muc_room.erl
+++ b/src/mod_muc_room.erl
@@ -70,32 +70,19 @@
-endif.
-%% Module start with or without supervisor:
--ifdef(NO_TRANSIENT_SUPERVISORS).
--define(SUPERVISOR_START,
- gen_fsm:start(?MODULE, [Host, ServerHost, Access, Room, HistorySize,
- RoomShaper, Creator, Nick, DefRoomOpts],
- ?FSMOPTS)).
--else.
--define(SUPERVISOR_START,
- Supervisor = gen_mod:get_module_proc(ServerHost, ejabberd_mod_muc_sup),
- supervisor:start_child(
- Supervisor, [Host, ServerHost, Access, Room, HistorySize, RoomShaper,
- Creator, Nick, DefRoomOpts])).
--endif.
-
%%%----------------------------------------------------------------------
%%% API
%%%----------------------------------------------------------------------
start(Host, ServerHost, Access, Room, HistorySize, RoomShaper,
Creator, Nick, DefRoomOpts) ->
- ?SUPERVISOR_START.
+ gen_fsm:start(?MODULE, [Host, ServerHost, Access, Room, HistorySize,
+ RoomShaper, Creator, Nick, DefRoomOpts],
+ ?FSMOPTS).
start(Host, ServerHost, Access, Room, HistorySize, RoomShaper, Opts) ->
- Supervisor = gen_mod:get_module_proc(ServerHost, ejabberd_mod_muc_sup),
- supervisor:start_child(
- Supervisor, [Host, ServerHost, Access, Room, HistorySize, RoomShaper,
- Opts]).
+ gen_fsm:start(?MODULE, [Host, ServerHost, Access, Room, HistorySize,
+ RoomShaper, Opts],
+ ?FSMOPTS).
start_link(Host, ServerHost, Access, Room, HistorySize, RoomShaper,
Creator, Nick, DefRoomOpts) ->
diff --git a/vars.config.in b/vars.config.in
index 69cc516f..5c37fb97 100644
--- a/vars.config.in
+++ b/vars.config.in
@@ -8,7 +8,6 @@
%%%-------------------------------------------------------------------
%% Macros
{roster_gateway_workaround, @roster_gateway_workaround@}.
-{transient_supervisors, @transient_supervisors@}.
{full_xml, @full_xml@}.
{nif, @nif@}.
{db_type, @db_type@}.