sigsetopsのヘルプ・マニュアル
日本語 英語
sigsetops --help
man sigsetops
SIGSETOPS(3) Linux Programmer’s Manual SIGSETOPS(3)
名前
sigemptyset, sigfillset, sigaddset, sigdelset, sigismember - POSIX シグ
ナル集合の操作
書式
#include
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(), sigismem-
ber() や 後 述の glibc の追加関数 (sigisemptyset(), sigandset(), sig-
orset()) に渡す前に、 sigemptyset() か sigfillset() を呼び出して初期 化
しなければならない。初期化しなかった場合の結果は未定義である。
返り値
sigemptyset(), sigfillset(), sigaddset(), sigdelset() は成功すれば 0 を
、エラーの場合は -1 を返す。
sigismember() は signum が set に含まれていれば 1 を返し、含まれてい な
ければ 0 を返す。エラーの場合は -1 を返す。
エラー
EINVAL sig が有効なシグナルではない。
準拠
POSIX.1-2001.
注意
glibc での注意
_GNU_SOURCE 機能検査マクロが定義されていると、 でシグナル集
合を操作する 3つの関数が追加で公開される。
int sigisemptyset(sigset_t *set);
set にシグナルが一つも含まれていなければ 1 を返し、それ以外は 0
を返す。
int sigorset(sigset_t *dest, sigset_t *left, sigset_t *right);
シグナル集合 left と left の和集合を dest に書き込む。
int sigandset(sigset_t *dest, sigset_t *left, sigset_t *right);
シグナル集合 left と left の積集合を dest に書き込む。
sigorset() と sigandset() は成功すると 0 を、失敗すると -1 を返す。
これらの関数は非標準であり、(他にも同様の関数を提供しているシステムもい
くつかはあるが) 移植性を考慮したアプリケーションでは使用を避けるべき で
ある。
関連項目
sigaction(2), sigpending(2), sigprocmask(2), sigsuspend(2)
Linux 2008-09-01 SIGSETOPS(3)
SIGSETOPS(3) Linux Programmer’s Manual SIGSETOPS(3)
NAME
sigemptyset, sigfillset, sigaddset, sigdelset, sigismember - POSIX sig-
nal set operations.
SYNOPSIS
#include
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);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
sigemptyset(), sigfillset(), sigaddset(), sigdelset(), sigismember():
_POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _POSIX_SOURCE
DESCRIPTION
These functions allow the manipulation of POSIX signal sets.
sigemptyset() initializes the signal set given by set to empty, with
all signals excluded from the set.
sigfillset() initializes set to full, including all signals.
sigaddset() and sigdelset() add and delete respectively signal signum
from set.
sigismember() tests whether signum is a member of set.
Objects of type sigset_t must be initialized by a call to either
sigemptyset() or sigfillset() before being passed to the functions
sigaddset(), sigdelset() and sigismember() or the additional glibc
functions described below (sigisemptyset(), sigandset(), and sig-
orset()). The results are undefined if this is not done.
RETURN VALUE
sigemptyset(), sigfillset(), sigaddset(), and sigdelset() return 0 on
success and -1 on error.
sigismember() returns 1 if signum is a member of set, 0 if signum is
not a member, and -1 on error.
ERRORS
EINVAL sig is not a valid signal.
CONFORMING TO
POSIX.1-2001.
NOTES
Glibc Notes
If the _GNU_SOURCE feature test macro is defined, then
exposes three other functions for manipulating signal sets.
int sigisemptyset(sigset_t *set);
returns 1 if set contains no signals, and 0 otherwise.
int sigorset(sigset_t *dest, sigset_t *left, sigset_t *right);
places the union of the sets left and right in dest.
int sigandset(sigset_t *dest, sigset_t *left, sigset_t *right);
places the intersection of the sets left and right in dest.
sigorset() and sigandset() return 0 on success, and -1 on failure.
These functions are non-standard (a few other systems provide similar
functions) and their use should be avoided in portable applications.
SEE ALSO
sigaction(2), sigpending(2), sigprocmask(2), sigsuspend(2)
COLOPHON
This page is part of release 3.22 of the Linux man-pages project. A
description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
Linux 2008-09-01 SIGSETOPS(3)