OSDN Git Service

48683155cf1eafaf8cd96706b0fe27109714a0cf
[linuxjm/LDP_man-pages.git] / release / man2 / epoll_create.2
1 .\"  Copyright (C) 2003  Davide Libenzi
2 .\"  Davide Libenzi <davidel@xmailserver.org>
3 .\"
4 .\" %%%LICENSE_START(GPLv2+_SW_3_PARA)
5 .\"  This program is free software; you can redistribute it and/or modify
6 .\"  it under the terms of the GNU General Public License as published by
7 .\"  the Free Software Foundation; either version 2 of the License, or
8 .\"  (at your option) any later version.
9 .\"
10 .\"  This program is distributed in the hope that it will be useful,
11 .\"  but WITHOUT ANY WARRANTY; without even the implied warranty of
12 .\"  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 .\"  GNU General Public License for more details.
14 .\"
15 .\" You should have received a copy of the GNU General Public
16 .\" License along with this manual; if not, see
17 .\" <http://www.gnu.org/licenses/>.
18 .\" %%%LICENSE_END
19 .\"
20 .\" Modified 2004-06-17 by Michael Kerrisk <mtk.manpages@gmail.com>
21 .\" Modified 2005-04-04 by Marko Kohtala <marko.kohtala@gmail.com>
22 .\" 2008-10-10, mtk: add description of epoll_create1()
23 .\"
24 .\"*******************************************************************
25 .\"
26 .\" This file was generated with po4a. Translate the source file.
27 .\"
28 .\"*******************************************************************
29 .\"
30 .\" Japanese Version Copyright (c) 2004-2005 Yuichi SATO
31 .\"         all rights reserved.
32 .\" Translated Wed Jun  9 05:02:07 JST 2004
33 .\"         by Yuichi SATO <ysato444@yahoo.co.jp>
34 .\" Updated & Modified Wed Dec 29 07:12:00 JST 2004 by Yuichi SATO
35 .\" Updated & Modified Tue Apr 19 06:51:12 JST 2005 by Yuichi SATO
36 .\" Updated 2009-03-05 by Kentaro Shirakata <argrath@ub32.org>
37 .\" Updated 2012-04-30, Akihiro MOTOKI <amotoki@gmail.com>
38 .\"
39 .TH EPOLL_CREATE 2 2012\-04\-15 Linux "Linux Programmer's Manual"
40 .SH 名前
41 epoll_create, epoll_create1 \- epoll ファイルディスクリプタをオープンする
42 .SH 書式
43 .nf
44 \fB#include <sys/epoll.h>\fP
45 .sp
46 \fBint epoll_create(int \fP\fIsize\fP\fB);\fP
47 \fBint epoll_create1(int \fP\fIflags\fP\fB);\fP
48 .fi
49 .SH 説明
50 \fBepoll_create\fP()は \fBepoll\fP(7) インスタンスを作成する。
51 Linux 2.6.8 以降では、\fIsize\fP 引き数は無視されるが、 0 より大きな値で
52 なければならない。下記の「注意」を参照。
53
54 \fBepoll_create\fP()  は、新しい epoll インスタンスを参照するファイルディスクリプタを返す。
55 このファイルディスクリプタは、その後の \fBepoll\fP インタフェースの呼び出しに使われる。 もう必要でなくなった場合は、
56 \fBepoll_create\fP()  で返されたファイルディスクリプタは \fBclose\fP(2)  を使ってクローズされるべきである。 ある epoll
57 インスタンスを参照する全てのファイルディスクリプタがクローズされると、 カーネルはそのインスタンスを破壊して、対応するリソースを解放し、
58 再使用できるようにする。
59 .SS epoll_create1()
60 \fBepoll_create1\fP()  は、 \fIflags\fP が 0 の場合、現在では使われていない \fIsize\fP 引き数がなくなっている点を除けば
61 \fBepoll_create\fP()  と同じである。 \fIflags\fP に以下の値をビット毎の論理和 (OR) で指定することで、
62 異なる動作をさせることができる。
63 .TP 
64 \fBEPOLL_CLOEXEC\fP
65 新しいファイルディスクリプタに対して close\-on\-exec (\fBFD_CLOEXEC\fP)  フラグをセットする。
66 このフラグが役に立つ理由については、 \fBopen\fP(2)  の \fBO_CLOEXEC\fP フラグの説明を参照のこと。
67 .SH 返り値
68 成功すると、これらのシステムコールは 非負のファイルディスクリプタを返す。 エラーの場合、\-1 を返し、 \fIerrno\fP にエラーを示す値を設定する。
69 .SH エラー
70 .TP 
71 \fBEINVAL\fP
72 \fIsize\fP が正でない。
73 .TP 
74 \fBEINVAL\fP
75 (\fBepoll_create1\fP())  \fIflags\fP に無効な値が指定された。
76 .TP 
77 \fBEMFILE\fP
78 \fI/proc/sys/fs/epoll/max_user_instances\fP によって指定されている、epoll
79 インスタンスのユーザー単位の制限に達した。 更なる詳細については \fBepoll\fP(7)  を参照のこと。
80 .TP 
81 \fBENFILE\fP
82 オープンされたファイルの総数がシステム制限に達した。
83 .TP 
84 \fBENOMEM\fP
85 カーネルオブジェクトを作成するのに十分なメモリがなかった。
86 .SH バージョン
87 \fBepoll_create\fP() はカーネル 2.6 で追加された。
88 ライブラリによるサポートは glibc バージョン 2.3.2 以降で提供されている。
89
90 .\" To be precise: kernel 2.5.44.
91 .\" The interface should be finalized by Linux kernel 2.5.66.
92 \fBepoll_create1\fP() はカーネル 2.6.27 で追加された。
93 ライブラリによるサポートは glibc バージョン 2.9 以降で提供されている。
94 .SH 準拠
95 \fBepoll_create\fP() は Linux 独自である。
96 .SH 注意
97 初期の \fBepoll_create\fP() の実装では、\fIsize\fP 引き数は、呼び出し元が \fBepoll\fP
98 インスタンスに追加しようとするファイルディスクリプタ数をカーネルに教えるのに
99 使われていた。カーネルはこの情報をイベントの情報を格納する内部データ構造に最
100 初に割り当てる大きさを決める際のヒントとして使用していた (\fIsize\fP で渡された
101 ヒントよりも使用量が大きくなった場合には、必要に応じてカーネルは追加で領域を
102 割り当てる)。
103
104 現在では、このヒントはもはや必要なくなっている (カーネルはヒントなしで必要な
105 データ構造のサイズを動的に変更する) が、今も \fIsize\fP には 0 より大きい値を
106 指定しなければならない。これは、\fBepoll\fP を使うアプリケーションが古いカーネル
107 で実行される際の後方互換性を保証するためである。
108 .SH 関連項目
109 \fBclose\fP(2), \fBepoll_ctl\fP(2), \fBepoll_wait\fP(2), \fBepoll\fP(7)
110 .SH この文書について
111 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.65 の一部
112 である。プロジェクトの説明とバグ報告に関する情報は
113 http://www.kernel.org/doc/man\-pages/ に書かれている。