next up previous
: この文書について... : A sample implementation : パイプを利用した接続

Local Functions

コントロールサーバの各実装は、独自にローカル関数をサポートしてもよい。 実際、サンプル実装 oxc はローカル関数をサポートしている。

ここでは、oxc のローカル関数 spawn について説明しよう。

spawn は計算サーバを起動し、少なくとも 1 個の引数を持つ。この引数は SM_control_spawn_server で用いられる List Argument と同一の形式で ある。すなわち、スタックに(右がトップ)
List Argument Integer32 1 String ``spawn''
を積み、SM_executeFunction をコントローラに送る。 SM_executeStringByLocalParser は利用できないので注意する。

spawn は、計算サーバの起動に成功したら (CMO_INT32, サーバID) を、失 敗したらエラーオブジェクトをスタックに積む。例えば計算サーバが発見できな かった場合にはエラーオブジェクトを積むことになる。コントロールサーバは access(2) を用いて PATH から計算サーバを探す。もし見つからなければ、fork をせずに、エラーオブジェクトをスタックに積む。



Nobuki Takayama 平成28年8月27日