diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | src/ejabberd_listener.erl | 15 |
2 files changed, 20 insertions, 0 deletions
@@ -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, |