-.\"
-.\" epoll by Davide Libenzi ( efficient event notification retrieval )
.\" Copyright (C) 2003 Davide Libenzi
+.\" Davide Libenzi <davidel@xmailserver.org>
.\"
+.\" %%%LICENSE_START(GPLv2+_SW_3_PARA)
.\" This program is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 2 of the License, or
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
-.\" You should have received a copy of the GNU General Public License
-.\" along with this program; if not, write to the Free Software
-.\" Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-.\"
-.\" Davide Libenzi <davidel@xmailserver.org>
+.\" You should have received a copy of the GNU General Public
+.\" License along with this manual; if not, see
+.\" <http://www.gnu.org/licenses/>.
+.\" %%%LICENSE_END
.\"
.\" 2007-04-30: mtk, Added description of epoll_pwait()
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
-.TH EPOLL_WAIT 2 2012\-04\-17 Linux "Linux Programmer's Manual"
+.\"
+.\" Japanese Version Copyright (c) 2004-2005 Yuichi SATO
+.\" all rights reserved.
+.\" Translated Wed Jun 16 03:05:40 JST 2004
+.\" by Yuichi SATO <ysato444@yahoo.co.jp>
+.\" Updated & Modified Tue Apr 19 07:05:42 JST 2005 by Yuichi SATO
+.\" Updated 2007-06-02, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.51
+.\" Updated 2009-02-23, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.18
+.\" Updated 2012-04-30, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2012-05-29, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2013-03-26, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
+.TH EPOLL_WAIT 2 2014\-01\-31 Linux "Linux Programmer's Manual"
.SH 名前
epoll_wait, epoll_pwait \- epoll ファイルディスクリプタの I/O イベントを待つ
.SH 書式
\fBepoll_wait\fP() によって返される。
\fImaxevents\fP 引き数は 0 より大きくなければならない。
-最大で \fItimeout\fP ミリ秒間、呼び出したスレッドを停止させる。
-\fItimeout\fP を \-1 に指定すると、 \fBepoll_wait\fP() は無限に停止する。
-\fItimeout\fP を 0 に指定すると、 \fBepoll_wait\fP() は利用可能なイベントが
-なくても、すぐに返る。
+\fItimeout\fP 引き数は \fBepoll_wait\fP() が停止する時間をミリ秒で指定する。 \fBepoll_wait\fP()
+の呼び出しは以下のいずれかになるまで停止する。
+.IP * 3
+ファイルディスクリプタがイベントを配送した
+.IP *
+呼び出しがシグナルハンドラーにより割り込まれた
+.IP *
+タイムアウトが満了する
+.PP
+\fItimeout\fP 時間はシステムクロックの粒度に切り上げられ、カーネルのスケジューリング遅延により少しだけ長くなる可能性がある点に注意すること。
+\fItimeout\fP を \-1 に指定すると、 \fBepoll_wait\fP() は無限に停止する。 \fItimeout\fP を 0 に指定すると、
+\fBepoll_wait\fP() は利用可能なイベントがなくても、すぐに返る。
\fIstruct epoll_event\fP は以下のように定義される:
.sp
\fIevents\fP で指されるメモリ領域に書き込み権限でアクセスできない。
.TP
\fBEINTR\fP
-要求されたどのイベントも発生せず、かつ \fItimeout\fP の期限が切れる前に、システムコールがシグナルハンドラによって割り込まれた。
-\fBsignal\fP(7) 参照。
+(1) 要求されたどのイベントも発生せず、かつ (2) \fItimeout\fP の期限が切れる前に、システムコールがシグナルハンドラによって割り込まれた。
+\fBsignal\fP(7) 参照。
.TP
\fBEINVAL\fP
\fIepfd\fP が \fBepoll\fP ファイルディスクリプタでない。 または \fImaxevents\fP が 0 以下である。
別のスレッドが wait 中の \fBepoll\fP インストールにファイルディスクリプタを
追加することがある。新しいファイルディスクリプタでイベントが発生すると、
\fBepoll_wait\fP() の呼び出しによる停止が解除されることになる。
+
+\fBepoll_wait\fP() で監視中の \fBepoll\fP
+インスタンス内のファイルディスクリプタが別のスレッドによってクローズされた場合に何が起こるかの議論については、 \fBselect\fP(2)
+を参照してほしい。
+.SH バグ
+バージョン 2.6.37 より前のカーネルでは、おおよそ \fILONG_MAX / HZ\fP ミリ秒より大きい \fItimeout\fP 値は \-1
+(つまり無限大) として扱われる。したがって、例えば、\fIsizeof(long)\fP が 4 で、カーネルの \fIHZ\fP の値が 1000
+のシステムでは、 35.79 分よりも大きなタイムアウトは無限大として扱われるということである。
.SH 関連項目
\fBepoll_create\fP(2), \fBepoll_ctl\fP(2), \fBepoll\fP(7)
.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.40 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.67 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。