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.

Unix is the answer, but only if you phrase the question very carefully.
— Belinda Asbell