名 前
sigemptyset, sigfillset, sigaddset, sigdelset, sigismember − POSIX シ グ ナ ル 集 合 の 操 作
書 式
#include <signal.h>
int sigemptyset(sigset_t *set);
int sigfillset(sigset_t *set);
int sigaddset(sigset_t *set, int signum);
int sigdelset(sigset_t *set, int signum);
int sigismember(const sigset_t *set, int signum);
glibc 向 け の 機 能 検 査 マ ク ロ の 要 件 (feature_test_macros(7) 参 照 ):
sigemptyset(), sigfillset(), sigaddset(), sigdelset(), sigismember():
_POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _POSIX_SOURCE
説 明
こ れ ら の 関 数 は POSIX シ グ ナ ル 集 合 (signal set)を 操 作 す る た め 使 用 す る 。
sigemptyset() は set で 与 え ら れ た シ グ ナ ル 集 合 を 空 に 初 期 化 し 、 シ グ ナ ル が 一 つ も 含 ま れ て い な い 状 態 に す る 。
sigfillset() は set で 与 え ら れ た シ グ ナ ル 集 合 が 全 て の シ グ ナ ル を 含 む よ う に す る 。
sigaddset() と sigdelset() は set に signum シ グ ナ ル を そ れ ぞ れ 加 え た り 、 削 除 し た り す る 。
sigismember() は signum が set に 含 ま れ て い る か ど う か を テ ス ト す る 。
sigset_t 型 の オ ブ ジ ェ ク ト は 、 関 数 sigaddset(), sigdelset(), sigismember() や 後 述 の glibc の 追 加 関 数 (sigisemptyset(), sigandset(), sigorset()) に 渡 す 前 に 、 sigemptyset() か sigfillset() を 呼 び 出 し て 初 期 化 し な け れ ば な ら な い 。 初 期 化 し な か っ た 場 合 の 結 果 は 未 定 義 で あ る 。
返 り 値
sigemptyset(), sigfillset(), sigaddset(), sigdelset() は 成 功 す れ ば 0 を 、 エ ラ ー の 場 合 は −1 を 返 す 。
sigismember() は signum が set の メ ン バ の 場 合 1 を 返 し 、 メ ン バ で な い 場 合 0 を 返 す 。 エ ラ ー の 場 合 、 −1 を 返 す 。 エ ラ ー の 場 合 、 errno に エ ラ ー の 原 因 を 示 す 値 を 設 定 す る 。
エ ラ ー
EINVAL |
sig が 有 効 な シ グ ナ ル で は な い 。 |
属 性
マ ル チ ス レ ッ デ ィ ン グ (pthreads(7) 参 照 ) 関 数 sigemptyset(), sigfillset(), sigaddset(), sigdelset(), sigismember(), sigisemptyset(), sigorset(), sigandset() は ス レ ッ ド セ ー フ で あ る 。
準 拠
POSIX.1−2001.
注 意
glibc
で の 注 意
_GNU_SOURCE 機 能 検 査 マ
ク ロ が 定 義 さ
れ て い る と 、
<signal.h> で シ グ ナ
ル 集 合 を 操 作
す る 3 つ の 関 数
が 追 加 で 公 開
さ れ る 。
int
sigisemptyset(const sigset_t *set);
int sigorset(sigset_t *dest, const sigset_t
*left,
const sigset_t *right);
int sigandset(sigset_t *dest, const sigset_t
*left,
const sigset_t *right);
sigisemptyset() は set に シ グ ナ ル が 一 つ も 含 ま れ て い な け れ ば 1 を 返 し 、 そ れ 以 外 は 0 を 返 す 。
sigorset() は 集 合 left と right の 和 集 合 を dest に 設 定 す る 。 sigandset() は 集 合 left と right の 積 集 合 を dest に 設 定 す る 。 ど ち ら の 関 数 も 成 功 す る と 0 を 返 し 、 失 敗 時 に は −1 を 返 す 。 こ れ ら の 関 数 は 非 標 準 で あ り 、 (他 に も 同 様 の 関 数 を 提 供 し て い る シ ス テ ム も い く つ か は あ る が ) 移 植 性 を 考 慮 し た ア プ リ ケ ー シ ョ ン で は 使 用 を 避 け る べ き で あ る 。
関 連 項 目
sigaction(2), sigpending(2), sigprocmask(2), sigsuspend(2)
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。