tail head cat sleep
QR code linking to this page

manページ  — SIGPROCMASK

名称

sigprocmask – 現在のシグナルマスクを操作する

内容

ライブラリ

Standard C Library (libc, -lc)

書式

#include <signal.h>

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

解説

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

set が NULL ではない場合、 sigprocmask() の操作は、 how 引数の値によって決まります。 シグナルマスクは、指定した set と現在のマスクによって変更されます。 関数は、 <signal.h> で定義される以下の値を使用して how で指定します。
SIG_BLOCK 新しいマスクは、現在のマスクと指定した set の和集合になります。
SIG_UNBLOCK
  新しいマスクは、現在のマスクと指定した set の補集合の交わりになります。
SIG_SETMASK
  現在のマスクは、指定した set に置き換えられます。

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

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

戻り値

The sigprocmask function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

エラー

以下が発生すると、 sigprocmask() システムコールはエラーになり、シグナルマスクは変更されません。
[EINVAL]
  how 引数が、ここでリストに挙げた以外の値になっています。

関連項目

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

規格

sigprocmask() システムコールは、 IEEE Std 1003.1-90 ("POSIX.1") に適合しています。

SIGPROCMASK (2) June 4, 1993

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

If at first you don't succeed, you must be a programmer.