signal_regime

COBOL ランタイム システムで独自のシグナル ハンドラーを設定するかどうかを指定します。
制約事項: これらのチューナーは、ネイティブ COBOL でのみサポートされます。

構文:

>>-----set signal_regime(sig)=integer---------><

または

>>-----set signal_regime=1---------><
                           

パラメーター:

sig シグナルの番号で、範囲は 1 からオペレーティング システムの最大シグナル番号です。シグナル番号の詳細については、オペレーティング システムのドキュメントを参照してください。
integer シグナル sig に対するランタイム システムのアクション。integer には次のいずれかの値を指定できます。
0 - シグナル sig のシグナル ハンドラーを必要に応じて使用する
デフォルトでは、ランタイム システムは、オペレーティング システムのデフォルトのアクションを終了させるようなシグナルすべてに対し、シグナル ハンドラーを設定します。ランタイム システムは、終了する前にこれらのシグナルを受け取って対処します (たとえば、ファイルが破損されないように、開いているファイルを閉じるなど)。
1 - シグナル sig のシグナル ハンドラーをこのシグナルに対してハンドラーがまだ設定されていない場合にのみ使用する
COBOL システムを起動する前にサード パーティ ソフトウェアを起動してシグナル sig を設定する場合に役立ちます。このチューナーがこのシグナルに対して設定されていない場合には、ランタイム システムはサード パーティ ソフトウェアのハンドラーを自身のハンドラーよりも優先します。その結果、ランタイム システム エラー COBRT115 (「予期しないシグナル」) の生成など、予期しない動作が発生します。

ハンドラーが設定されると、そのシグナルに対するハンドラーは、ランタイム システムで設定されません。そのため、このシグナルに関するランタイム システムの機能も動作しません。

2 - シグナル sig のシグナル ハンドラーを使用する
ランタイム システムが起動された後にサード パーティ ソフトウェアが起動され、シグナル sig に対してハンドラーを設定した場合に限り、この設定を使用します。サード パーティ ソフトウェアが PL/I ランタイム システムである場合を除き、この値を設定すると、オペレーティング システムのデフォルトのアクションを終了させるようなシグナルがかなり妨害されます。つまり、呼び出されたランタイム システムと、このシグナルのハンドラーを設定しているサード パーティのソフトウェア間でこのようなシグナルが受信されると、オペレーティング システムのデフォルトのアクションが実行され、ランタイム システムで対処できないまま、プロセスが終了します。これは、PL/I プログラムを実行している場合には正常な動作です。PL/I ランタイム システム (このコンテキストではサード パーティ ソフトウェアと考えられます) は、ゼロでの除算などの条件をトラップするために独自のシグナル ハンドラーを定期的に設定するからです。これにより、ファイルが破損するなどの問題が発生することがあります。

このシグナルに関するランタイム システムの機能はどれも動作しません。

プロパティ:

デフォルト: すべてのシグナルに対して 0 が設定されています。
IDE での相当機能: プロジェクトの Application.config ファイルを使用します。ソリューション エクスプローラーでファイルを右クリックして [Open] をクリックし、[Run-time Configuration] タブを選択します。

説明:

他の構文を使用 (signal_regime=1 を設定) する場合は、すべてのシグナルに対するシグナル方式が 1 に設定されます。