OSDN Git Service

(split) LDP: Update release pages based on LDP 3.54 release
[linuxjm/LDP_man-pages.git] / release / man2 / epoll_create.2
index 5c20ab4..f002292 100644 (file)
@@ -1,7 +1,7 @@
-.\"
-.\"  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
 .\"
 .\" Modified 2004-06-17 by Michael Kerrisk <mtk.manpages@gmail.com>
 .\" Modified 2005-04-04 by Marko Kohtala <marko.kohtala@gmail.com>
 .\" 2008-10-10, mtk: add description of epoll_create1()
 .\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
 .\" Japanese Version Copyright (c) 2004-2005 Yuichi SATO
 .\"         all rights reserved.
 .\" Translated Wed Jun  9 05:02:07 JST 2004
 .\" Updated & Modified Wed Dec 29 07:12:00 JST 2004 by Yuichi SATO
 .\" Updated & Modified Tue Apr 19 06:51:12 JST 2005 by Yuichi SATO
 .\" Updated 2009-03-05 by Kentaro Shirakata <argrath@ub32.org>
+.\" Updated 2012-04-30, Akihiro MOTOKI <amotoki@gmail.com>
 .\"
-.\"WORD:       backing store   ¥Ð¥Ã¥­¥ó¥°¥¹¥È¥¢
-.\"
-.TH EPOLL_CREATE 2 2009-01-17 "Linux" "Linux Programmer's Manual"
-.SH Ì¾Á°
-epoll_create, epoll_create1 \- epoll ¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ò¥ª¡¼¥×¥ó¤¹¤ë
-.SH ½ñ¼°
+.TH EPOLL_CREATE 2 2012\-04\-15 Linux "Linux Programmer's Manual"
+.SH 名前
+epoll_create, epoll_create1 \- epoll ファイルディスクリプタをオープンする
+.SH 書式
 .nf
-.B #include <sys/epoll.h>
+\fB#include <sys/epoll.h>\fP
 .sp
-.BI "int epoll_create(int " size );
-.BI "int epoll_create1(int " flags );
+\fBint epoll_create(int \fP\fIsize\fP\fB);\fP
+\fBint epoll_create1(int \fP\fIflags\fP\fB);\fP
 .fi
-.SH ÀâÌÀ
-.BR epoll_create ()
-¤Ï¡¢
-.I size
-¸Ä¤Î¥Ç¥£¥¹¥¯¥ê¥×¥¿¤òÊÝ»ý¤Ç¤­¤ëÂ礭¤µ¤Î¥¤¥Ù¥ó¥È¥Ð¥Ã¥­¥ó¥°
-¥¹¥È¥¢¤Î³ä¤êÅö¤Æ¤ò¥«¡¼¥Í¥ë¤ËÂФ·¤ÆÍ׵᤹¤ë¤³¤È¤Ë¤è¤ê¡¢
-epoll ¡Ö¥¤¥ó¥¹¥¿¥ó¥¹¡×¤òºîÀ®¤¹¤ë¡£
-.I size
-¤Ï¥Ð¥Ã¥­¥ó¥°¥¹¥È¥¢¤ÎºÇÂ祵¥¤¥º¤Ç¤Ï¤Ê¤¯¡¢
-ÆâÉô¹½Â¤¤ÎÂ礭¤µ¤ò¤É¤Î°Ì¤Ë¤¹¤ë¤«¤ò¥«¡¼¥Í¥ë¤ËÃΤ餻¤ë¥Ò¥ó¥È¤Ç¤·¤«¤Ê¤¤¡£
-(¸½ºß¤Ï
-.I size
-¤Ï̵»ë¤µ¤ì¤ë¡£²¼µ­¤Î¡ÖÃí°Õ¡×¤ò»²¾È¡£)
+.SH 説明
+\fBepoll_create\fP()は \fBepoll\fP(7) インスタンスを作成する。
+Linux 2.6.8 以降では、\fIsize\fP 引き数は無視されるが、 0 より大きな値で
+なければならない。下記の「注意」を参照。
+
+\fBepoll_create\fP()  は、新しい epoll インスタンスを参照するファイルディスクリプタを返す。
+このファイルディスクリプタは、その後の \fBepoll\fP インタフェースの呼び出しに使われる。 もう必要でなくなった場合は、
+\fBepoll_create\fP()  で返されたファイルディスクリプタは \fBclose\fP(2)  を使ってクローズされるべきである。 ある epoll
+インスタンスを参照する全てのファイルディスクリプタがクローズされると、 カーネルはそのインスタンスを破壊して、対応するリソースを解放し、
+再使用できるようにする。
+.SS epoll_create1()
+\fBepoll_create1\fP()  は、 \fIflags\fP が 0 の場合、現在では使われていない \fIsize\fP 引き数がなくなっている点を除けば
+\fBepoll_create\fP()  と同じである。 \fIflags\fP に以下の値をビット毎の論理和 (OR) で指定することで、
+異なる動作をさせることができる。
+.TP 
+\fBEPOLL_CLOEXEC\fP
+新しいファイルディスクリプタに対して close\-on\-exec (\fBFD_CLOEXEC\fP)  フラグをセットする。
+このフラグが役に立つ理由については、 \fBopen\fP(2)  の \fBO_CLOEXEC\fP フラグの説明を参照のこと。
+.SH 返り値
+成功すると、これらのシステムコールは 非負のファイルディスクリプタを返す。 エラーの場合、\-1 を返し、 \fIerrno\fP にエラーを示す値を設定する。
+.SH エラー
+.TP 
+\fBEINVAL\fP
+\fIsize\fP が正でない。
+.TP 
+\fBEINVAL\fP
+(\fBepoll_create1\fP())  \fIflags\fP に無効な値が指定された。
+.TP 
+\fBEMFILE\fP
+\fI/proc/sys/fs/epoll/max_user_instances\fP によって指定されている、epoll
+インスタンスのユーザー単位の制限に達した。 更なる詳細については \fBepoll\fP(7)  を参照のこと。
+.TP 
+\fBENFILE\fP
+オープンされたファイルの総数がシステム制限に達した。
+.TP 
+\fBENOMEM\fP
+カーネルオブジェクトを作成するのに十分なメモリがなかった。
+.SH バージョン
+\fBepoll_create\fP() はカーネル 2.6 で追加された。
+ライブラリによるサポートは glibc バージョン 2.3.2 以降で提供されている。
 
-.BR epoll_create ()
-¤Ï¡¢¿·¤·¤¤ epoll ¥¤¥ó¥¹¥¿¥ó¥¹¤ò»²¾È¤¹¤ë¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤òÊÖ¤¹¡£
-¤³¤Î¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ï¡¢¤½¤Î¸å¤Î
-.B epoll
-¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î¸Æ¤Ó½Ð¤·¤Ë»È¤ï¤ì¤ë¡£
-¤â¤¦É¬ÍפǤʤ¯¤Ê¤Ã¤¿¾ì¹ç¤Ï¡¢
-.BR epoll_create ()
-¤ÇÊÖ¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ï
-.BR close (2)
-¤ò»È¤Ã¤Æ¥¯¥í¡¼¥º¤µ¤ì¤ë¤Ù¤­¤Ç¤¢¤ë¡£
-¤¢¤ë epoll ¥¤¥ó¥¹¥¿¥ó¥¹¤ò»²¾È¤¹¤ëÁ´¤Æ¤Î¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤¬¥¯¥í¡¼¥º¤µ¤ì¤ë¤È¡¢
-¥«¡¼¥Í¥ë¤Ï¤½¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òÇ˲õ¤·¤Æ¡¢Âбþ¤¹¤ë¥ê¥½¡¼¥¹¤ò²òÊü¤·¡¢
-ºÆ»ÈÍѤǤ­¤ë¤è¤¦¤Ë¤¹¤ë¡£
+.\" To be precise: kernel 2.5.44.
+.\" The interface should be finalized by Linux kernel 2.5.66.
+\fBepoll_create1\fP() はカーネル 2.6.27 で追加された。
+ライブラリによるサポートは glibc バージョン 2.9 以降で提供されている。
+.SH 準拠
+\fBepoll_create\fP() は Linux 独自である。
+.SH 注意
+初期の \fBepoll_create\fP() の実装では、\fIsize\fP 引き数は、呼び出し元が \fBepoll\fP
+インスタンスに追加しようとするファイルディスクリプタ数をカーネルに教えるのに
+使われていた。カーネルはこの情報をイベントの情報を格納する内部データ構造に最
+初に割り当てる大きさを決める際のヒントとして使用していた (\fIsize\fP で渡された
+ヒントよりも使用量が大きくなった場合には、必要に応じてカーネルは追加で領域を
+割り当てる)。
 
-.BR epoll_create1 ()
-¤Ï¡¢
-.I flags
-¤¬ 0 ¤Î¾ì¹ç¡¢¸½ºß¤Ç¤Ï»È¤ï¤ì¤Æ¤¤¤Ê¤¤
-.I size
-°ú¤­¿ô¤¬¤Ê¤¯¤Ê¤Ã¤Æ¤¤¤ëÅÀ¤ò½ü¤±¤Ð
-.BR epoll_create ()
-¤ÈƱ¤¸¤Ç¤¢¤ë¡£
-.I flags
-¤Ë°Ê²¼¤ÎÃͤò¥Ó¥Ã¥ÈËè¤ÎÏÀÍýÏ (OR) ¤Ç»ØÄꤹ¤ë¤³¤È¤Ç¡¢
-°Û¤Ê¤ëÆ°ºî¤ò¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
-.TP
-.B EPOLL_CLOEXEC
-¿·¤·¤¤¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ËÂФ·¤Æ
-close-on-exec
-.RB ( FD_CLOEXEC )
-¥Õ¥é¥°¤ò¥»¥Ã¥È¤¹¤ë¡£
-¤³¤Î¥Õ¥é¥°¤¬Ìò¤ËΩ¤ÄÍýͳ¤Ë¤Ä¤¤¤Æ¤Ï¡¢
-.BR open (2)
-¤Î
-.B O_CLOEXEC
-¥Õ¥é¥°¤ÎÀâÌÀ¤ò»²¾È¤Î¤³¤È¡£
-.SH ÊÖ¤êÃÍ
-À®¸ù¤¹¤ë¤È¡¢¤³¤ì¤é¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï
-ÈóÉé¤Î¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤òÊÖ¤¹¡£
-¥¨¥é¡¼¤Î¾ì¹ç¡¢\-1 ¤òÊÖ¤·¡¢
-.I errno
-¤Ë¥¨¥é¡¼¤ò¼¨¤¹ÃͤòÀßÄꤹ¤ë¡£
-.SH ¥¨¥é¡¼
-.TP
-.B EINVAL
-.I size
-¤¬Àµ¤Ç¤Ê¤¤¡£
-.TP
-.B EINVAL
-.RB ( epoll_create1 ())
-.I flags
-¤Ë̵¸ú¤ÊÃͤ¬»ØÄꤵ¤ì¤¿¡£
-.TP
-.B EMFILE
-.I /proc/sys/fs/epoll/max_user_instances
-¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤Æ¤¤¤ë¡¢epoll ¥¤¥ó¥¹¥¿¥ó¥¹¤Î¥æ¡¼¥¶¡¼Ã±°Ì¤ÎÀ©¸Â¤Ë㤷¤¿¡£
-¹¹¤Ê¤ë¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï
-.BR epoll (7)
-¤ò»²¾È¤Î¤³¤È¡£
-.TP
-.B ENFILE
-¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¤ÎÁí¿ô¤¬¥·¥¹¥Æ¥àÀ©¸Â¤Ë㤷¤¿¡£
-.TP
-.B ENOMEM
-¥«¡¼¥Í¥ë¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤¹¤ë¤Î¤Ë½½Ê¬¤Ê¥á¥â¥ê¤¬¤Ê¤«¤Ã¤¿¡£
-.SH ½àµò
-.BR epoll_create ()
-¤Ï Linux Æȼ«¤Ç¤¢¤ê¡¢¥«¡¼¥Í¥ë 2.5.44 ¤ÇƳÆþ¤µ¤ì¤¿¡£
-.\" ¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï Linux ¥«¡¼¥Í¥ë 2.5.66 ¤Ç³ÎÄꤵ¤ì¤ë¤Ù¤­¤Ç¤¢¤ë¡£
-.SH Ãí°Õ
-Linux 2.6.8 °Ê¹ß¤Ç¤Ï¡¢
-.I size
-°ú¤­¿ô¤Ï»ÈÍѤµ¤ì¤Ê¤¤
-(¥«¡¼¥Í¥ë¤Ï¡¢Æ°Åª¤ËɬÍפʥǡ¼¥¿¹½Â¤¤ÎÂ礭¤µ¤ò·èÄꤷ¡¢
-ºÇ½é¤Î¥Ò¥ó¥È¤òɬÍפ·¤Ê¤¤)¡£
-.SH ´ØÏ¢¹àÌÜ
-.BR close (2),
-.BR epoll_ctl (2),
-.BR epoll_wait (2),
-.BR epoll (7)
+現在では、このヒントはもはや必要なくなっている (カーネルはヒントなしで必要な
+データ構造のサイズを動的に変更する) が、今も \fIsize\fP には 0 より大きい値を
+指定しなければならない。これは、\fBepoll\fP を使うアプリケーションが古いカーネル
+で実行される際の後方互換性を保証するためである。
+.SH 関連項目
+\fBclose\fP(2), \fBepoll_ctl\fP(2), \fBepoll_wait\fP(2), \fBepoll\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.54 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。