PageRenderTime 30ms CodeModel.GetById 23ms RepoModel.GetById 0ms app.codeStats 0ms

/ucengine/src/core/uce_sup.erl

http://github.com/AF83/ucengine
Erlang | 39 lines | 16 code | 6 blank | 17 comment | 0 complexity | 07575ba12d8d1b38318df552cf17a007 MD5 | raw file
  1. %%
  2. %% U.C.Engine - Unified Collaboration Engine
  3. %% Copyright (C) 2011 af83
  4. %%
  5. %% This program is free software: you can redistribute it and/or modify
  6. %% it under the terms of the GNU Affero General Public License as published by
  7. %% the Free Software Foundation, either version 3 of the License, or
  8. %% (at your option) any later version.
  9. %%
  10. %% This program is distributed in the hope that it will be useful,
  11. %% but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. %% GNU Affero General Public License for more details.
  14. %%
  15. %% You should have received a copy of the GNU Affero General Public License
  16. %% along with this program. If not, see <http://www.gnu.org/licenses/>.
  17. %%
  18. -module(uce_sup).
  19. -behaviour(supervisor).
  20. -include("uce.hrl").
  21. -export([start_link/0, init/1, start_child/1]).
  22. start_link() ->
  23. supervisor:start_link({local, ?MODULE}, ?MODULE, []).
  24. init([]) ->
  25. PubSubSup = [{?PUBSUB_MODULE,
  26. {?PUBSUB_MODULE, start_link, []},
  27. permanent, brutal_kill, worker, [?PUBSUB_MODULE]}],
  28. Vhost = [{uce_vhost_sup, {uce_vhost_sup, start_link, []},
  29. permanent, infinity, supervisor, [uce_vhost_sup]}],
  30. Yaws = uce_yaws:child_spec(),
  31. {ok, {{one_for_all, 10, 10}, Yaws ++ PubSubSup ++ Vhost}}.
  32. start_child(ChildSpec) ->
  33. {ok, _Pid} = supervisor:start_child(?MODULE, ChildSpec).