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