HP OpenVMS HP C ランタイム・ライブラリ・リファレンス・マニュアル (下巻)
指定されたソフトウェア・シグナルを生成します。このシグナルは,
signal,
ssignal,
sigvec関数によって設定されたアクション・ルーチンを起動します。
形式
#include <signal.h>
int gsignal (int sig [, int sigcode]);
引数
sig生成するシグナル。
sigcode省略可能なシグナル・コード。たとえば,シグナル SIGFPE (算術演算トラップ・シグナル) には 10 種類のコードがあり,各コードは異なる種類の算術演算トラップを表します。
シグナル・コードはニーモニックまたは数字で表現できます。算術演算トラップ・コードは 1〜10 の数字で表現されますが, SIGILL コードは 0〜2 の数字で表現されます。コード値は
<signal.h>ヘッダ・ファイルに定義されています。シグナルのニーモニック,コード,対応する OpenVMS 例外の一覧については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』表 4-4 を参照してください。
説明
gsignal関数を呼び出すと,次のいずれかの結果になります。
-
gsignalが
<signal.h>ヘッダ・ファイルに定義されている範囲外の sig 引数を指定する場合は,
gsignalは 0 を返し,
errnoを EINVAL に設定します。
-
signal,
ssignal,
sigvecがシグナルに対して SIG_DFL (デフォルト・アクション) を設定する場合は,
gsignalは呼び出し元に戻りません。イメージは終了し,シグナルに対応する OpenVMS エラー・コードが設定されます。
-
signal,
ssignal,
sigvecがシグナルのアクションとして SIG_IGN (シグナルの無視) を設定した場合は,
gsignalはその引数 sig を返します。
- シグナルに対してアクション・ルーチンを設定するには,
signal,
ssignal,
sigvecのいずれかを使用しなければなりません。その関数が呼び出され,戻り値が
gsignalから返されます。
詳細については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 4 章を参照してください。
raise,
signal,
ssignal,
sigvecも参照してください。
戻り値
0
|
sig 引数が
<signal.h>
ヘッダ・ファイルに定義されている範囲外であることを示します。
errno
が EINVAL に設定されます。
|
sig
|
SIG_IGN (シグナルの無視) がシグナルのアクションとして設定されていることを示します。
|
x
|
signal
,
ssignal
,
sigvec
がシグナルに対してアクション関数を設定したことを示します。その関数が呼び出され,
gsignal
から戻り値が返されます。
|
|