summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--src/ejabberd_listener.erl15
2 files changed, 20 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 896a3c05..03a68ba9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-03-31 Badlop <badlop@process-one.net>
+
+ * src/ejabberd_listener.erl (start_listener): Start also the
+ supervisor of the module
+
2008-03-27 Badlop <badlop@process-one.net>
* doc/guide.tex: Fix epam location (thanks to Evgeniy Khramtsov)
diff --git a/src/ejabberd_listener.erl b/src/ejabberd_listener.erl
index 51f584c6..f16cfb0d 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,