diff options
| author | fukachan <fukachan> | 2003-03-09 08:29:08 +0000 |
|---|---|---|
| committer | fukachan <fukachan> | 2003-03-09 08:29:08 +0000 |
| commit | 670cfb4d0b2abc942517a1d706349ba81697f498 (patch) | |
| tree | ce6057bc112b2edfc7eeb8604f6081fe3ecc0c2a /fml/doc/ja/tutorial/internals/bootloader.sgml | |
| parent | c62651a5a1cac63e14d7c186c9c1433f84c6c97d (diff) | |
| download | fml8-670cfb4d0b2abc942517a1d706349ba81697f498.tar.gz fml8-670cfb4d0b2abc942517a1d706349ba81697f498.tar.bz2 fml8-670cfb4d0b2abc942517a1d706349ba81697f498.zip | |
merge 01_* with tutorial/
Diffstat (limited to 'fml/doc/ja/tutorial/internals/bootloader.sgml')
| -rw-r--r-- | fml/doc/ja/tutorial/internals/bootloader.sgml | 90 |
1 files changed, 78 insertions, 12 deletions
diff --git a/fml/doc/ja/tutorial/internals/bootloader.sgml b/fml/doc/ja/tutorial/internals/bootloader.sgml index 56fe2d9d..f436e301 100644 --- a/fml/doc/ja/tutorial/internals/bootloader.sgml +++ b/fml/doc/ja/tutorial/internals/bootloader.sgml @@ -1,5 +1,5 @@ <!-- - $FML: bootloader.sgml,v 1.7 2002/07/02 10:39:35 fukachan Exp $ + $FML: bootloader.sgml,v 1.8 2002/07/06 14:55:18 fukachan Exp $ --> <chapter id="bootloader"> @@ -13,18 +13,32 @@ めに、本章で述べるようなブートストラップの過程があります。 <screen> -fml が boot していくイメージ - -libexec/loader -> - FML::Process::Switch -> - FML::Process::Flow -> - FML::Process::それぞれのプログラムのモジュール +fml (libexec/distribute) が boot していくイメージ + + functions class + ---------------------------------------- + + main::Bootstrap() libexec/loader + | + V + main::Bootstrap2() FML::Process::Switch + | + V + ProcessSwitch() FML::Process::Switch + | + | + | switch to ($obj = FML::Process:Distribute) + | + V + ProcessStart($obj,$args) FML::Process::Flow </screen> </para> -<sect1> - <title> 例: 配送の場合 </title> +<sect1 id="bootloader.example.distribute"> + <title> + 例: 配送の場合 + </title> <para> loader から次々と呼ばれていく様子は、例えば配送処理の場合、次のよう @@ -59,8 +73,10 @@ FML::Process::Distribute を実行していくという流れになります。 </sect1> -<sect1> - <title> FML::Process:: クラスの階層構造 </title> +<sect1 id="bootloader.classes"> + <title> + FML::Process:: クラスの階層構造 + </title> <para> <screen> @@ -77,7 +93,7 @@ FML::Process::Mead >-| | </sect1> -<sect1> +<sect1 id="bootloader.classes2"> <title> プロセス実行時に使われるモジュール群 </title> @@ -167,4 +183,54 @@ $process->finish($args); </sect1> +<sect1 id="bootloader.resolv.mlxxx"> + <title> + ml_name と ml_domain の値はどこで解決するのが正しいか? + </title> + +<para> +<screen> +main::Bootstrap() + + main.cf から fml のバージョン依存性を解く + + hints を渡す (CGI のみ) + ◎ CGI だけ + 嘘の入力がありうる + そのため、loader に hints として + ml_domain や ml_name がハードコードされている。 + + +main::Bootstrap2() +ProcessSwitch() + + 使うモジュール( Process::なんか )を決める + 読み込むべき cf ファイルの決定(なんで?) + ライブラリパスの決定や @INC の修正など + + hints を渡す?使う? (CGI のみ?) + + +ProcessStart($obj,$args) + + 処理本体のスタート + + new + + prepare + ml_name と ml_domain の決定 + CGI からの入力を解析する + hints を使う?(CGI のみ?) + + 読み込むべき cf ファイルの決定 + + parse + メールを読み込む + コマンドラインを解析する +</screen> +</para> + +</sect1> + + </chapter> |
