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 に対してハンドラーを設定した場合に限り、この設定を使用します。この値を設定すると、オペレーティング システムのデフォルトのアクションを終了させるようなシグナルがかなり妨害されます。つまり、呼び出されたランタイム システムと、このシグナルのハンドラーを設定しているサード
パーティのソフトウェア間でこのようなシグナルが受信されると、オペレーティング システムのデフォルトのアクションが実行され、ランタイム システムで対処できないまま、プロセスが終了します。これにより、ファイルが破損するなどの問題が発生することがあります。
このシグナルに関するランタイム システムの機能はどれも動作しません。
|
プロパティ:
デフォルト: |
すべてのシグナルに対して 0 が設定されています。 |
IDE での相当機能: |
[ > Signal Handling > Signal handling options] |
説明:
他の構文を使用 (signal_regime=1 を設定) する場合は、すべてのシグナルに対するシグナル方式が 1 に設定されます。