SIGSETOPS

Section: Linux Programmer's Manual (3)
Updated: 2020-12-21
Index JM Home Page
 

名前

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
 

説明

これらの関数は 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
signum が有効なシグナルではない。
 

属性

この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース 属性 値
sigemptyset(), sigfillset(),
sigaddset(), sigdelset(),
sigismember(), sigisemptyset(),
sigorset(), sigandset()
Thread safety MT-Safe
 

準拠

POSIX.1-2001, POSIX.1-2008.  

注意

When creating a filled signal set, the glibc sigfillset() function does not include the two real-time signals used internally by the NPTL threading implementation. See nptl(7) for details.  

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 プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。

関連キーワード

sigset   シグナル   集合   signal   操作   初期化   sigemptyset   sigfillset   sigaddset   sigdelset   sigismember   検査   マクロ   成功   メンバ   要件   macros   後述   未定義   原因   用語   allbox   インターフェース   属性   Thread

Linux マニュアル 一覧

関連するコマンド・関数

sigaddset.3   sigandset.3   sigdelset.3   sigemptyset.3   sigfillset.3   sigisemptyset.3
 

Index

名前
書式
説明
返り値
エラー
属性
準拠
注意
glibc での拡張
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 04:39:25 GMT, October 11, 2026