func が定数 SIG_DFL だった場合,指定されたシグナルに対するアクションはデフォルトのアクション,すなわち受信側プロセスの終了に再設定されます。引数が SIG_IGN だった場合には,シグナルは無視されます。すべてのシグナルを無視できるわけではありません。
func が SIG_DFL でも SIG_IGN でもない場合,この func はシグナル処理関数のアドレスを指定します。シグナルが生成されると,アドレスが指定された関数が, sig を引数として指定して呼び出されます。アドレスが指定された関数が返ると,割り込まれたプロセスは,割り込みのポイントから実行を続けます ( これはシグナルのキャッチと呼ばれます。シグナルは,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 4 章に示した例外のケースを除き,キャッチ後は SIG_DFL に再設定されます)。
signal関数は,シグナルをキャッチしようとするたびに呼び出す必要があります。
シグナル処理の詳細については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 4.2 節を参照してください。
OpenVMS 例外またはシグナルで UNIX スタイルのシグナルを生成させるためには, OpenVMS 条件ハンドラは,自分で処理する気がない例外を受信したときに SS$_RESIGNAL を返さなくてはなりません。 SS$_CONTINUE を返すと,UNIX スタイル・シグナルは正しく生成されません。 UNIX シグナルに対応する OpenVMS 例外のリストについては,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 4 章を参照してください。