Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all bug

名前

       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/ に書かれている。