File: epoll_create.2

package info (click to toggle)
manpages-ja 0.5.0.0.20120606-1
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 25,964 kB
  • sloc: perl: 161; makefile: 116
file content (105 lines) | stat: -rw-r--r-- 5,881 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
.\"
.\"  epoll by Davide Libenzi ( efficient event notification retrieval )
.\"  Copyright (C) 2003  Davide Libenzi
.\"
.\"  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
.\"  (at your option) any later version.
.\"
.\"  This program is distributed in the hope that it will be useful,
.\"  but WITHOUT ANY WARRANTY; without even the implied warranty of
.\"  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>
.\"
.\" 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.
.\"
.\"*******************************************************************
.TH EPOLL_CREATE 2 2012\-04\-15 Linux "Linux Programmer's Manual"
.SH 名前
epoll_create, epoll_create1 \- epoll ファイルディスクリプタをオープンする
.SH 書式
.nf
\fB#include <sys/epoll.h>\fP
.sp
\fBint epoll_create(int \fP\fIsize\fP\fB);\fP
\fBint epoll_create1(int \fP\fIflags\fP\fB);\fP
.fi
.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 以降で提供されている。

.\" 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 で渡された
ヒントよりも使用量が大きくなった場合には、必要に応じてカーネルは追加で領域を
割り当てる)。

現在では、このヒントはもはや必要なくなっている (カーネルはヒントなしで必要な
データ構造のサイズを動的に変更する) が、今も \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.41 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。