sigprocmask(2) FreeBSD 一般コマンドマニュアル

sigprocmask

前のページ 上に戻る 次のページ

sigprocmask




書式

     #include <signal.h>

     int
     sigprocmask(int how, const sigset_t *set, sigset_t *oset);


解説

     sigprocmask() 関数は、現在のシグナルマスク (配信がブロックされているシグ
     ナル) の調査や変更を行ないます。シグナルは、現在のシグナルマスクセットに
     含まれる場合にブロックされます。

     set がヌルではない場合、 sigprocmask() の操作は、パラメータ how の値に
     よって決まります。シグナルマスクは、指定した set と現在のマスクによって変
     更されます。関数は、 <signal.h> で定義される以下の値を使用して how で指定
     します。

     SIG_BLOCK    新しいマスクは、現在のマスクと指定した set の和集合になりま
                  す。

     SIG_UNBLOCK  新しいマスクは、現在のマスクと指定した set の補集合の交わり
                  になります。

     SIG_SETMASK  現在のマスクは、指定した set に置き換えられます。

     oset がヌルでない場合、前のシグナルマスクの値に設定されます。 set がヌル
     である場合、 how の値が無効になり、マスクは未設定のまま残るので、シグナル
     マスクを修正せずに検査できるようになります。

     システムでは、 SIGKILL や SIGSTOP のブロックが許可されていません。


戻り値

     関数 sigprocmask() は、処理が成功すると値 0 を返します。そうでない場合、
     値 -1 が返され、グローバル変数 errno が設定されてエラーを示します。


エラー

     以下が発生すると、 sigprocmask() 呼び出しはエラーになり、シグナルマスクは
     変更されません。

     [EINVAL]           how が、ここでリストに挙げた以外の値になっています。


関連項目

     kill(2), sigaction(2), sigsuspend(2), fpsetmask(3), sigsetops(3)


規格

     sigprocmask() 関数呼び出しは、 ISO/IEC 9945-1:1990 (``POSIX.1'') に準拠し
     ています。

FreeBSD 4.4                      June 4, 1993                      FreeBSD 4.4

ABELNET VPSサービス