\fBsigwaitinfo\fP() はそのシグナルを待機中のシグナルの集合から削除し、関数の結果としてシグナル番号を返す。 \fIinfo\fP 引き数が
NULL でない場合、配送されたシグナルの情報が入った \fIsiginfo_t\fP 型 (\fBsigaction\fP(2) を参照) の構造体を
-\fIinfo\fP が指すバッファに入れて返す。
+\fIinfo\fP ã\81\8cæ\8c\87ã\81\99ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81«å\85¥ã\82\8cã\81¦è¿\94ã\81\99ã\80\82
.PP
呼び出し元に対して \fIset\fP の複数のシグナルが処理待ちの場合、 \fBsigwaitinfo\fP()
で取得するシグナルは通常の順序決定ルールに基づいて決定される。 詳細は \fBsignal\fP(7) を参照のこと。
\fIset\fP のうちのどのシグナルも \fBsigtimedwait\fP() に指定された \fItimeout\fP の期間内に処理待ちにならなかった。
.TP
\fBEINTR\fP
-ã\82·ã\82°ã\83\8aã\83«å¾\85ã\81¡ã\81\8cã\82·ã\82°ã\83\8aã\83«ã\83\8fã\83³ã\83\89ã\83©ã\81«ã\82\88ã\81£ã\81¦ä¸æ\96 (interrupt) ã\81\95ã\82\8cã\81\9f (ã\81\93ã\81®ã\83\8fã\83³ã\83\89ã\83©は \fIset\fP にあるシグナル以外のものである)。
+ã\82·ã\82°ã\83\8aã\83«å¾\85ã\81¡ã\81\8cã\82·ã\82°ã\83\8aã\83«ã\83\8fã\83³ã\83\89ã\83©ã\83¼ã\81«ã\82\88ã\81£ã\81¦ä¸æ\96 (interrupt) ã\81\95ã\82\8cã\81\9f (ã\81\93ã\81®ã\83\8fã\83³ã\83\89ã\83©ã\83¼は \fIset\fP にあるシグナル以外のものである)。
\fBsignal\fP(7) 参照。
.TP
\fBEINVAL\fP
.SH 注意
通常の使用法では、呼び出し側プロセスはこれらの関数より先に \fBsigprocmask\fP(2) の呼び出すことにより \fIset\fP
に含まれるシグナルをブロックし (そのためにこれらのシグナルがこの後に続く \fBsigwaitinfo\fP() や \fBsigtimedwait\fP()
-ã\81®å\91¼ã\81³å\87ºã\81\97ã\81®é\96\93ã\81«å\87¦ç\90\86å¾\85ã\81¡ã\81«ã\81ªã\81£ã\81\9få ´å\90\88ã\81«ã\81¯ã\80\81ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81®å\8b\95ä½\9cã\81¯è¡\8cã\82\8fã\82\8cã\81\9a)ã\80\81 ã\81\93ã\82\8cã\82\89ã\81®ã\82·ã\82°ã\83\8aã\83«ã\81«å¯¾ã\81\99ã\82\8bã\83\8fã\83³ã\83\89ã\83©ã\81¯è¨å®\9aã\81\97ã\81ªã\81\84ã\80\82 ã\83\9eã\83«ã\83\81ã\82¹ã\83¬ã\83\83ã\83\89ã\83\97ã\83ã\82°ã\83©ã\83 ã\81§ã\81¯ã\80\81
-\fBsigwaitinfo\fP() や \fBsigtimedwait\fP()
+ã\81®å\91¼ã\81³å\87ºã\81\97ã\81®é\96\93ã\81«å\87¦ç\90\86å¾\85ã\81¡ã\81«ã\81ªã\81£ã\81\9få ´å\90\88ã\81«ã\81¯ã\80\81ã\83\87ã\83\95ã\82©ã\83«ã\83\88ã\81®å\8b\95ä½\9cã\81¯è¡\8cã\82\8fã\82\8cã\81\9a)ã\80\81 ã\81\93ã\82\8cã\82\89ã\81®ã\82·ã\82°ã\83\8aã\83«ã\81«å¯¾ã\81\99ã\82\8bã\83\8fã\83³ã\83\89ã\83©ã\83¼ã\81¯è¨å®\9aã\81\97ã\81ªã\81\84ã\80\82
+マルチスレッドプログラムでは、 \fBsigwaitinfo\fP() や \fBsigtimedwait\fP()
を呼び出したスレッド以外のスレッドで、そのシグナルがデフォルトの動作に基いて処理されないように、全てのスレッドで該当シグナルをブロックすべきである。
指定されたスレッドに対する処理待ちのシグナルの集合は、 そのスレッド自体宛ての処理待ちのシグナル集合と、プロセス全体宛ての
.\"
POSIX では \fBsigtimedwait\fP() の引き数 \fItimeout\fP の値を NULL にした場合の意味を未定義としている。
\fBsigwaitinfo\fP() を呼び出したのと同じ意味としてもよいことになっており、 実際 Linux ではこのように動作する。
-.SS "C library/kernel ABI differences"
+.SS "C ライブラリとカーネル ABI の違い"
Linux では、 \fBsigwaitinfo\fP() は \fBsigtimedwait\fP() を用いて実装されたライブラリ関数である。
-The raw \fBsigtimedwait\fP() system call has a fifth argument, \fIsize_t
-sigsetsize\fP, which specifies the size in bytes of the \fIset\fP argument. The
-glibc \fBsigtimedwait\fP() wrapper function specifies this argument as a fixed
-value (equal to \fIsizeof(sigset_t)\fP).
+素の \fBsigtimedwait\fP() システムコールは 5 番目の引き数 \fIsize_t sigsetsize\fP を取る。 この引き数は
+\fIset\fP 引き数のバイト単位のサイズを指定する。 glibc の \fBsigtimedwait\fP() のラッパー関数はこの引き数に固定値
+(\fIsizeof(sigset_t)\fP と同じ) を指定する。
.SH 関連項目
\fBkill\fP(2), \fBsigaction\fP(2), \fBsignal\fP(2), \fBsignalfd\fP(2), \fBsigpending\fP(2),
\fBsigprocmask\fP(2), \fBsigqueue\fP(3), \fBsigsetops\fP(3), \fBsigwait\fP(3),
\fBsignal\fP(7), \fBtime\fP(7)
.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.76 の一部である。
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部である。
プロジェクトの説明とバグ報告に関する情報は \%http://www.kernel.org/doc/man\-pages/ に書かれている。