Provided by:
manpages-ja-dev_0.5.0.0.20070415-1_all 
前
epoll_wait - epoll ファイルディスクリプタの I/O イベントを待つ
式
#include <sys/epoll.h>
int epoll_wait(int epfd, struct epoll_event * events,
int maxevents, int timeout);
明
epoll ファイルディスクリプタ epfd のイベントを最大 timeout ミリ秒待つ。
events
が指すメモリ領域には、呼び出し側が利用可能なイベントが格納される。 最大
maxevents 個のイベントが epoll_wait(2) によって返される。 maxevents
引た瑤 0 より大いなければならない。 timeout を -1 に指定すると、
epoll_wait(2) は無限に待つ。 また timeout を 0 に指定すると、
epoll_wait(2) はイベントが利用可能でなくても、すぐに返る (返り値は 0
である)。 struct epoll_event は以下のように定義される:
typedef union epoll_data {
void *ptr;
int fd;
__uint32_t u32;
__uint64_t u64;
} epoll_data_t;
struct epoll_event {
__uint32_t events; /* epoll イベント */
epoll_data_t data; /* ユーザデータ変数 */
};
返される構造体の data メンバは、ユーザが epoll_ctl(2)
(EPOLL_CTL_ADD,EPOLL_CTL_MOD) で指定したデータが格納される。 一方、
events
メンバには返された利用可能なイベントのビットフィールドが格納される。
値
成功した場合、 epoll_wait(2) は要求された I/O に対して準備がで-
ているファイルディスクリプタの数を返す。 また要求された timeout
ミリ秒の間にファイルディスクリプタが準備でい覆ぞ豺腓蓮0 を返す。
エラーが起こった場合、 epoll_wait(2) は -1 を返し、 errno
が適切に設定される。
ー
EBADF epfd が邑なファイルディスクリプタでない。
EFAULT events で指されるメモリ領域が書すみ権限でアクセスでい覆ぁ
EINTR 要求されたどのイベントも起い覆いΔ舛法△泙燭 timeout
の期限が切れる前に、この呼び出しがシグナルハンドラによって割り込まれた。
EINVAL epfd が epoll ファイルディスクリプタでない。 または maxevents が
0 以下である。
拠
epoll_wait(2) は Linux カーネル 2.5.44 に導入された新しい API である。
インタフェースは Linux カーネル 2.5.66 で確定されるべい任△襦
epoll_create(2), epoll_ctl(2), epoll(7)