EPOLL_CREATE
Section: Linux Programmer's Manual (2)
Updated: 2009-01-17
Index
JM Home Page
roff page
名前
epoll_create, epoll_create1 - epoll ファイルディスクリプタをオープンする
書式
#include <sys/epoll.h>
int epoll_create(int size);
int epoll_create1(int flags);
説明
epoll_create()
は、
size
個のディスクリプタを保持できる大きさのイベントバッキング
ストアの割り当てをカーネルに対して要求することにより、
epoll 「インスタンス」を作成する。
size
はバッキングストアの最大サイズではなく、
内部構造の大きさをどの位にするかをカーネルに知らせるヒントでしかない。
(現在は
size
は無視される。下記の「注意」を参照。)
epoll_create()
は、新しい epoll インスタンスを参照するファイルディスクリプタを返す。
このファイルディスクリプタは、その後の
epoll
インタフェースの呼び出しに使われる。
もう必要でなくなった場合は、
epoll_create()
で返されたファイルディスクリプタは
close(2)
を使ってクローズされるべきである。
ある epoll インスタンスを参照する全てのファイルディスクリプタがクローズされると、
カーネルはそのインスタンスを破壊して、対応するリソースを解放し、
再使用できるようにする。
epoll_create1()
は、
flags
が 0 の場合、現在では使われていない
size
引き数がなくなっている点を除けば
epoll_create()
と同じである。
flags
に以下の値をビット毎の論理和 (OR) で指定することで、
異なる動作をさせることができる。
- EPOLL_CLOEXEC
-
新しいファイルディスクリプタに対して
close-on-exec
(FD_CLOEXEC)
フラグをセットする。
このフラグが役に立つ理由については、
open(2)
の
O_CLOEXEC
フラグの説明を参照のこと。
返り値
成功すると、これらのシステムコールは
非負のファイルディスクリプタを返す。
エラーの場合、-1 を返し、
errno
にエラーを示す値を設定する。
エラー
- EINVAL
-
size
が正でない。
- EINVAL
-
(epoll_create1())
flags
に無効な値が指定された。
- EMFILE
-
/proc/sys/fs/epoll/max_user_instances
によって指定されている、epoll インスタンスのユーザー単位の制限に達した。
更なる詳細については
epoll(7)
を参照のこと。
- ENFILE
-
オープンされたファイルの総数がシステム制限に達した。
- ENOMEM
-
カーネルオブジェクトを作成するのに十分なメモリがなかった。
準拠
epoll_create()
は Linux 独自であり、カーネル 2.5.44 で導入された。
注意
Linux 2.6.8 以降では、
size
引き数は使用されない
(カーネルは、動的に必要なデータ構造の大きさを決定し、
最初のヒントを必要しない)。
関連項目
close(2),
epoll_ctl(2),
epoll_wait(2),
epoll(7)
Index
- 名前
-
- 書式
-
- 説明
-
- 返り値
-
- エラー
-
- 準拠
-
- 注意
-
- 関連項目
-
This document was created by
man2html,
using the manual pages.
Time: 03:26:40 GMT, April 25, 2010