0

カウボーイhttps://github.com/extend/cowboyに次のようなコードがあることに気づきました

supervisor:start_child(cowboy_sup, child_spec(Ref, NbAcceptors,
    Transport, TransOpts, Protocol, ProtoOpts)).

child_spec(Ref, NbAcceptors, Transport, TransOpts, Protocol, ProtoOpts) ->  
{{cowboy_listener_sup, Ref}, {cowboy_listener_sup, start_link, [ NbAcceptors, Transport,
TransOpts, Protocol, ProtoOpts ]}, permanent, 5000, supervisor,[cowboy_listener_sup]}.

http://www.erlang.org/doc/man/supervisor.html#start_child-2

正しい子仕様ではないと思いますが、どう思いますか?

4

1 に答える 1

4

子仕様が正しいかどうかは、supervisor:check_childspecs/1関数を使用して確認できます。

そして、はい、それは有効な子仕様のように見えます:

child_spec() = 
    {Id :: child_id(),
     StartFunc :: mfargs(),
     Restart :: restart(),
     Shutdown :: shutdown(),
     Type :: worker(),
     Modules :: modules()}

どこ:

Id -> {cowboy_listener_sup, Ref}
StartFunc -> {cowboy_listener_sup, start_link, [ ... ]}
Restart -> permanent
Shutdown -> 5000
Type -> supervisor
Modules -> [cowboy_listener_sup]

正確には何が疑わしいですか?

于 2012-04-11T10:57:27.773 に答える