SIGNAL(3F) — UNIX Programmer’s Manual
名称
signal − シグナルに対する動作を変更する
形式
integer function signal(signum, proc, flag)
integer signum, flag
external proc
解説
プロセスがシグナルを受信した場合 (signal(3C) 参照)、 デフォルトの動作として、 通常、 処理を終了しアボートします。 ユーザは、 シグナル処理ルーチンを 書き込むことが選択できます。 この別の動作を システムに指定する方法が、 signal を呼び出すことです。
signum はシグナル番号 (signal(3C) 参照)です。 flag が負の値の場合、 proc はユーザのシグナル処理ルーチン名でなくてはなりません。 flag がゼロ、 または正の値の場合、 proc は無視され、 flag の値を シグナル処理の定義としてシステムに渡します。 これは、 特に、 以前にセーブしておいたシグナル処理を 復元できる方法です。 また、 flag が取り得る 2つの値には、 特定の意味があります。 0 は、 "デフォルトの動作を する"(次の注記を 参照)ことを 示し、 1 は、 "このシグナルを無視する"ことです。
正のリターン値は、 以前の処理の定義です。 1 より大きい値は、 受信シグナルの発生時に呼び出されるはずだったルーチンのアドレスです。 また、 リターン値を 使って、 一連の signal を呼び出し、 以前の動作の定義を 復元することができます。 負のリターン値は、 システムエラーコードを 符号変換したものです (perror(3F) 参照)。
関連ファイル
/usr/lib/libU77.a
関連事項
注記
プロセスが開始されるとき、 f77 は特定のシグナルをトラップする準備をします。 デフォルトの f77 の動作を復元する唯一の方法は、 最初の signal の呼び出しからのリターン値を セーブすることです。
ユーザのシグナルハンドラが呼び出されると、 これは整数引数としてシグナル番号に渡されます。
NEWS-OSRelease 3.3