Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all
名前
sigwait - シグナルを待つ
書式
#include <signal.h> int sigwait(const sigset_t *set, int *sig); glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照): sigwait(): glibc 2.26 以降: _POSIX_C_SOURCE >= 199506L Glibc 2.25 以前: _POSIX_C_SOURCE
説明
sigwait() 関数は、シグナル集合 set で指定されたシグナルの一つが処理待ち (pending) になる まで、 呼び出したスレッドの実行を中断する。 この関数はそのシグナルを受け取り (つまり、処理 待ちのシグナルのリスト からそのシグナルを削除し)、そのシグナル番号を sig に格納して返す。 sigwait() の動作は sigwaitinfo(2) と同じだが、以下の点が異なる。 * sigwait() は、シグナルの内容を表す siginfo_t 構造体を返すのではなく、単にシグナル番号を 返す。 * 返り値が sigwaitinfo(2) とは異なる。
返り値
成功すると、 sigwait() は 0 を返す。 エラーの場合、(「エラー」の節のリストにある) 正のエ ラー番号を返す。
エラー
EINVAL set に無効なシグナル番号が入っている。
属性
この節で使用されている用語の説明については、 attributes(7) を参照。 ┌─────────────────┬───────────────┬─────────┐ │インターフェース │ 属性 │ 値 │ ├─────────────────┼───────────────┼─────────┤ │sigwait() │ Thread safety │ MT-Safe │ └─────────────────┴───────────────┴─────────┘
準拠
POSIX.1-2001, POSIX.1-2008.
注意
sigwait() は sigtimedwait(2) を使って実装されている。 The glibc implementation of sigwait() silently ignores attempts to wait for the two real-time signals that are used internally by the NPTL threading implementation. See nptl(7) for details.
例
pthread_sigmask(3) を参照。
関連項目
sigaction(2), signalfd(2), sigpending(2), sigsuspend(2), sigwaitinfo(2), sigsetops(3), signal(7)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの 説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。