Scroll to navigation

SIGWAIT(3) Linux Programmer's Manual SIGWAIT(3)

名前

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 で指定されたシグナルの一つが配送されるまで、 呼び出したスレッドの実行を中断する。 この関数はそのシグナルを受け取り (つまり、処理待ちのシグナルのリスト からそのシグナルを削除し)、そのシグナル番号を sig に格納して返す。

sigwait() の動作は sigwaitinfo() と同じだが、以下の点が異なる。

  • sigwait() は、シグナルの内容を表す siginfo_t 構造体を返すのではなく、単にシグナル番号を返す。
  • 返り値が sigwaitinfo() とは異なる。

返り値

成功すると、 sigwait() は 0 を返す。 エラーの場合、直前のエラー番号を返す。

エラー

set に無効なシグナル番号が入っている。

準拠

POSIX.1-2001.

注意

sigwait() は sigtimedwait(2) を使って実装されている。

pthread_sigmask(3) を参照。

関連項目

sigaction(2), signalfd(2), sigpending(2), sigsuspend(2), sigwaitinfo(2), sigsetops(3), signal(7)

2009-02-10 Linux