Manpages

名 前

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() は setsignum シ グ ナ ル を そ れ ぞ れ 加 え た り 、 削 除 し た り す る 。

sigismember() は signumset に 含 ま れ て い る か ど う か を テ ス ト す る 。

sigset_t 型 の オ ブ ジ ェ ク ト は 、 関 数 sigaddset(), sigdelset(), sigismember() や 後 述 の glibc の 追 加 関 数 (sigisemptyset(), sigandset(), sigorset()) に 渡 す 前 に 、 sigemptyset() か sigfillset() を 呼 び 出 し て 初 期 化 し な け れ ば な ら な い 。 初 期 化 し な か っ た 場 合 の 結 果 は 未 定 義 で あ る 。

返 り 値

sigemptyset(), sigfillset(), sigaddset(), sigdelset() は 成 功 す れ ば 0 を 、 エ ラ ー の 場 合 は −1 を 返 す 。

sigismember() は signumset の メ ン バ の 場 合 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() は 集 合 leftright の 和 集 合 を dest に 設 定 す る 。 sigandset() は 集 合 leftright の 積 集 合 を dest に 設 定 す る 。 ど ち ら の 関 数 も 成 功 す る と 0 を 返 し 、 失 敗 時 に は −1 を 返 す 。 こ れ ら の 関 数 は 非 標 準 で あ り 、 (他 に も 同 様 の 関 数 を 提 供 し て い る シ ス テ ム も い く つ か は あ る が ) 移 植 性 を 考 慮 し た ア プ リ ケ ー シ ョ ン で は 使 用 を 避 け る べ き で あ る 。

関 連 項 目

sigaction(2), sigpending(2), sigprocmask(2), sigsuspend(2)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。