summaryrefslogtreecommitdiff
path: root/apps/mochiweb/src/mochiweb_sup.erl
blob: 5cb525b555692bbf88efa84479b56a77cbf8c598 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
%% @author Bob Ippolito <bob@mochimedia.com>
%% @copyright 2007 Mochi Media, Inc.

%% @doc Supervisor for the mochiweb application.

-module(mochiweb_sup).
-author('bob@mochimedia.com').

-behaviour(supervisor).

%% External exports
-export([start_link/0, upgrade/0]).

%% supervisor callbacks
-export([init/1]).

%% @spec start_link() -> ServerRet
%% @doc API for starting the supervisor.
start_link() ->
    supervisor:start_link({local, ?MODULE}, ?MODULE, []).

%% @spec upgrade() -> ok
%% @doc Add processes if necessary.
upgrade() ->
    {ok, {_, Specs}} = init([]),
    [supervisor:start_child(?MODULE, Spec) || Spec <- Specs],
    ok.

%% @spec init([]) -> SupervisorTree
%% @doc supervisor callback, ensures yaws is in embedded mode and then
%%      returns the supervisor tree.
init([]) ->
    Processes = [],
    {ok, {{one_for_one, 10, 10}, Processes}}.