ebin 目录 yaws.app的 {mod,{yaws_app,[]}}, yaws_app.erl的start/2
start(_Type, _StartArgs) ->
yaws_sup:start_link().
yaws_sup.erl 的init()
init([]) ->
YawsLog = {yaws_log, {yaws_log, start_link, []},
permanent, 5000, worker, [yaws_log]},
YawsServArgs = [_Env = get_app_args()],
YawsServ = {yaws_server, {yaws_server, start_link, YawsServArgs},
permanent, 5000, worker, [yaws_server]},
Sup = {yaws_sup_restarts,
{yaws_sup_restarts, start_link, []},
transient, infinity, supervisor, [yaws_sup_restarts]},
{ok,{{one_for_all, 0, 1}, [YawsLog, YawsServ, Sup]}}.
各个应用开始启动了..................................
yaws_server。erl
init(Env) -> %% #env{Trace, TraceOut, Conf, RunMod, Embedded, Id}) ->
process_flag(trap_exit, true),
put(start_time, calendar:local_time ()), %% for uptime
case Env#env.embedded of
false ->
Config = (catch yaws_config:load(Env)),
case Config of
{ok, Gconf, Sconfs} ->
erase(logdir),
?Debug("GC = ~s~n", [?format_record(Gconf, gconf)]),
lists:foreach(
fun(Group) ->
lists:foreach(
fun(_SC) ->
?Debug("SC = ~s~n",
[?format_record(_SC, sconf)])
end, Group)
end, Sconfs),
yaws_log:setdir(Gconf, Sconfs),
case Gconf#gconf.trace of
{true, What} ->
yaws_log:open_trace(What),
yaws_api:set_tty_trace(?gc_has_tty_trace(Gconf));
_ ->
ok
end,
init2(Gconf, Sconfs, Env#env.runmod,
Env#env.embedded, true);
{error, E} ->
阅读(497) | 评论(0) | 转发(0) |