Chinaunix首页 | 论坛 | 博客
  • 博客访问: 149891
  • 博文数量: 92
  • 博客积分: 2035
  • 博客等级: 大尉
  • 技术积分: 874
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-10 09:03
文章分类

全部博文(92)

文章存档

2010年(38)

2009年(54)

我的朋友

分类:

2010-02-02 10:29:39

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) |
0

上一篇:超级监控

下一篇:erlang语言的特点

给主人留下些什么吧!~~