Linux
2013-12-16
manpages-ja-dev
Japanese version of the manual pages (for developers)
man-pages-ja
Japanese man (manual) pages from the Japanese Manual Project
manpages-dev
Manual pages about using GNU/Linux for development
man-pages
Linux kernel and C library user-space interface documentation
名前
sigwait - シグナルを待つ
書式
#include <signal.h>
int sigwait(const sigset_t *set, int *sig);
glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):
sigwait(): _POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _POSIX_SOURCE
説明
sigwait() 関数は、シグナル集合 set で指定されたシグナルの一つが処理待ち (pending) になるまで、 呼び出したスレッドの実行を中断する。 この関数はそのシグナルを受け取り (つまり、処理待ちのシグナルのリスト からそのシグナルを削除し)、そのシグナル番号を sig に格納して返す。
sigwait() の動作は sigwaitinfo(2) と同じだが、以下の点が異なる。
* | sigwait() は、シグナルの内容を表す siginfo_t 構造体を返すのではなく、単にシグナル番号を返す。 |
* | 返り値が sigwaitinfo(2) とは異なる。 |
返り値
成功すると、 sigwait() は 0 を返す。 エラーの場合、(「エラー」の節のリストにある) 正のエラー番号を返す。
エラー
EINVAL | |
set に無効なシグナル番号が入っている。 |
属性
マルチスレッディング (pthreads(7) 参照)
sigwait() 関数はスレッドセーフである。
準拠
POSIX.1-2001.
注意
sigwait() は sigtimedwait(2) を使って実装されている。
例
pthread_sigmask(3) を参照。
関連項目
この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部である。 プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。