コントロールサーバの各実装は、独自にローカル関数をサポートしてもよい。 実際、サンプル実装 oxc はローカル関数をサポートしている。
ここでは、oxc のローカル関数 spawn について説明しよう。
spawn は計算サーバを起動し、少なくとも 1 個の引数を持つ。この引数は SM_control_spawn_server で用いられる List Argument と同一の形式で ある。すなわち、スタックに(右がトップ)
List Argument | Integer32 1 | String ``spawn'' |
spawn は、計算サーバの起動に成功したら (CMO_INT32, サーバID) を、失 敗したらエラーオブジェクトをスタックに積む。例えば計算サーバが発見できな かった場合にはエラーオブジェクトを積むことになる。コントロールサーバは access(2) を用いて PATH から計算サーバを探す。もし見つからなければ、fork をせずに、エラーオブジェクトをスタックに積む。