diff --git a/ChangeLog b/ChangeLog index 896a3c051..03a68ba93 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-03-31 Badlop + + * src/ejabberd_listener.erl (start_listener): Start also the + supervisor of the module + 2008-03-27 Badlop * doc/guide.tex: Fix epam location (thanks to Evgeniy Khramtsov) 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,