diff options
| author | fukachan <fukachan> | 2001-01-27 09:21:00 +0000 |
|---|---|---|
| committer | fukachan <fukachan> | 2001-01-27 09:21:00 +0000 |
| commit | cdfe1713ec7952781dc4e613a35e8ff617849004 (patch) | |
| tree | 8cff9b1f07d340a678c4240bdc23ca4f341a8560 /fml/libexec | |
| parent | cf121ba998595a4b6c5668066fe54c9c31780670 (diff) | |
| download | fml8-cdfe1713ec7952781dc4e613a35e8ff617849004.tar.gz fml8-cdfe1713ec7952781dc4e613a35e8ff617849004.tar.bz2 fml8-cdfe1713ec7952781dc4e613a35e8ff617849004.zip | |
clean document campaign (2001/01 end)
align format by doc/bin/dir2url.pl
prepare missing index.ja.html at each directory
Diffstat (limited to 'fml/libexec')
| -rw-r--r-- | fml/libexec/boot.ja.html | 64 | ||||
| -rwxr-xr-x | fml/libexec/fmlwrapper | 3 |
2 files changed, 40 insertions, 27 deletions
diff --git a/fml/libexec/boot.ja.html b/fml/libexec/boot.ja.html index 2694eedd..937a2ad0 100644 --- a/fml/libexec/boot.ja.html +++ b/fml/libexec/boot.ja.html @@ -2,7 +2,7 @@ <HTML> <HEAD> <TITLE> -net/fml ブートの仕方 +fml のブートしていく様 </TITLE> <META http-equiv="Content-Type" content="text/html; charset=EUC-JP"> @@ -11,6 +11,8 @@ net/fml ブートの仕方 <BODY BGCOLOR="#E6E6FA"> <!-- ================== body =========================================== --> +<P>fml のブートしていく様について + <UL> <LI> libexec/fmlwrapper (wrapper) <BR> @@ -18,38 +20,44 @@ net/fml ブートの仕方 <UL> <LI> /etc/fml/main.cf を読み込む。 読み込むと fml のバージョンが分かる。 - - <LI> @ARGV を評価し、 - どの config.cf 群をロードすればいいのかを準備する。 default_config.cf はバージョン依存であるので、 - ここで評価することに注意。 + ここでまずバージョンを評価しなければいけないことに注意。 - <LI> libexec/fml ( バージョン依存 )ファイルを - ロードし、 - <UL> - <LI> - ProcessSwitch() を実行して、配送用、コマンドモード用 - プログラム/プロセスなどへ制御を移す(分岐する)。 + <LI> ( fml.pl を例にとると) + @ARGV を評価し、 + どのMLの config.cf 群をロードすればいいのかを準備する。 + <LI> 次に + libexec/fml ( バージョン依存 )ファイルを + ロードする。そして、 + ProcessSwitch() 内部を実行し、 + 配送用、コマンドモード用 + プログラム/プロセスなどへ制御を移す(分岐する)。 + <UL> <LI> $0 から自分の名前を知り、 どのプロセスへ分岐すればいいのかを判断する。 <LI>(ポリモーフィズム) - ダイナミックバインディングし、 - プロセスオブジェクトを生成する( fork(2) という意味ではない)。 + モジュールをダイナミックバインディングし、 + 該当するプロセスオブジェクトを生成する。 そして、プロセスをスタートさせる。 具体的には - <PRE> - $process = new FML::Process::なにか; - $process->run() - </PRE> - を実行する。 +<PRE> + $process = new FML::Process::なにか; + $process->prepare($args); + $process->run($args); + $process->finish($args); +</PRE> + などと書く。 </UL> </UL> +<HR> +<P>Standalone.pm + <PRE> fmlwrapper (uses) Standalone.pm | @@ -58,16 +66,18 @@ fmlwrapper (uses) Standalone.pm | fml * 動的にクラスをバインディングしつつ、プロセススタートする。 - 実際のコードは $process->run() などとなるが、書き下すと - このようになるだろう。 + 実際のコードは $process->run() などとなる。 + + +○ クラスの階層構造? - FML::Process::Distribute->run() | - FML::Process::Command->run() |-(uses)-> FML::Process::Kernel - FML::Process::Mead->run() | | - |- FML::Parse - |- FML::Config - |- FML::Log - |- ... その他 ... +FML::Process::Distribute-| +FML::Process::Command -|>- FML::Process::Kernel +FML::Process::Mead -| | + |-> FML::Parse + |-> FML::Config + |-> FML::Log + |-> ... その他 ... </PRE> <!-- =================================================================== --> diff --git a/fml/libexec/fmlwrapper b/fml/libexec/fmlwrapper index 2e231bf4..eda23db3 100755 --- a/fml/libexec/fmlwrapper +++ b/fml/libexec/fmlwrapper @@ -8,6 +8,9 @@ # $FML$ # +eval 'exec /usr/local/bin/perl -S $0 ${1+"$@"}' + if $running_under_some_shell; + use vars qw($MainCF); use strict; use Carp; |
