aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ejabberd_listener.erl15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/ejabberd_listener.erl b/src/ejabberd_listener.erl
index 51f584c6a..f16cfb0d8 100644
--- a/src/ejabberd_listener.erl
+++ b/src/ejabberd_listener.erl
@@ -179,6 +179,21 @@ accept_ssl(ListenSocket, Module, Opts) ->
start_listener(Port, Module, Opts) ->
+ start_module_sup(Module),
+ start_listener_sup(Port, Module, Opts).
+
+start_module_sup(Module) ->
+ Proc = gen_mod:get_module_proc("sup", Module),
+ ChildSpec =
+ {Proc,
+ {ejabberd_tmp_sup, start_link, [Proc, Module]},
+ permanent,
+ infinity,
+ supervisor,
+ [ejabberd_tmp_sup]},
+ supervisor:start_child(ejabberd_sup, ChildSpec).
+
+start_listener_sup(Port, Module, Opts) ->
ChildSpec = {Port,
{?MODULE, start, [Port, Module, Opts]},
transient,