宣言した ptype を宣言解除する必要が生じる場合があります。たとえば、CASE 環境における次のような場合です。
導入システムでは、コンパイルサーバーを設定しています。このサーバーは、コンパイルが要求されたとき、そのコンパイル要求を優先的に受け付けることを宣言しています。サーバーは、要求を受け付けると状態を変更し、それ以降は新しいコンパイル要求を受け付けません。
通常カプセル化されたプロセスは、それ自身を複数の ptype として宣言し、下位層のツールへ要求を送ります。下位層のツールが終了した場合は、総称ラッパーは、そのツールに関連付けられている ptype として宣言する必要はありません。
ptype を登録解除するには、tt_ptype_undeclare を使用します。この呼び出しは、tt_ptype_declare と逆の動作をします。つまり、ptype から生成されたすべてのパターンを登録解除します。さらにセッションが保持する、この
ptype を持つ有効プロセスのリストからプロセスを削除します。指定した ptype が呼び出し側プロセスによって宣言されていない場合、この呼び出しは TT_ERR_PTYPE
の状態を返します。
tt_type_undeclare を 1 回呼び出すと、プロセスが ptype を宣言した回数に関係なく、ptype は完全に登録解除されます。つまり、ptype の複数の宣言は、1 回の宣言と同じです。
例 10–1 は、宣言した ptype を宣言解除する方法の例です。
/* * Obtain procid */ tt_open(); /* * Undeclared Ptype */ tt_ptype_undeclare(ptype); |