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 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
|
.\"
.\" 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>
.\"
.\"
.\" Japanese Version Copyright (c) 2004-2005 Yuichi SATO
.\" all rights reserved.
.\" Translated Wed Jun 16 03:05:40 JST 2004
.\" by Yuichi SATO <ysato444@yahoo.co.jp>
.\" Updated & Modified Tue Apr 19 07:05:42 JST 2005 by Yuichi SATO
.\"
.TH EPOLL_WAIT 2 "23 October 2002" Linux "Linux Programmer's Manual"
.SH ̾
epoll_wait \- epoll եǥץ I/O ٥ȤԤ
.SH
.nf
.B #include <sys/epoll.h>
.sp
.BI "int epoll_wait(int " epfd ", struct epoll_event * " events ,
.BI " int " maxevents ", int " timeout);
.fi
.SH
.B epoll
եǥץ
.I epfd
Υ٥Ȥ
.I timeout
ߥԤġ
.I events
ؤΰˤϡƤӽФ¦Ѳǽʥ٥ȤǼ롣
.I maxevents
ĤΥ٥Ȥ
.BR epoll_wait (2)
ˤä֤롣
.I maxevents
0 礭ʤФʤʤ
.I timeout
\-1 ˻ꤹȡ
.BR epoll_wait (2)
̵¤Ԥġ
ޤ
.I timeout
0 ˻ꤹȡ
.BR epoll_wait (2)
ϥ٥ȤѲǽǤʤƤ⡢֤ (֤ͤ 0 Ǥ)
.I struct epoll_event
ϰʲΤ褦:
.sp
.nf
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; /* 桼ǡѿ */
};
.fi
֤빽¤Τ
.I data
Фϡ桼
.BR epoll_ctl (2)
.IR ( EPOLL_CTL_ADD , EPOLL_CTL_MOD )
ǻꤷǡǼ롣
.I events
Фˤ֤줿Ѳǽʥ٥ȤΥӥåȥեɤǼ롣
.SH ֤
硢
.BR epoll_wait (2)
ᤵ줿 I/O ФƽǤƤեǥץο֤
ޤᤵ줿
.I timeout
ߥäδ֤˥եǥץǤʤϡ0 ֤
顼ä硢
.BR epoll_wait (2)
\-1 ֤
.I errno
Ŭڤꤵ롣
.SH 顼
.TP
.B EBADF
.I epfd
ͭʥեǥץǤʤ
.TP
.B EFAULT
.I events
ǻؤΰ褬߸¤ǥǤʤ
.TP
.B EINTR
ᤵ줿ɤΥ٥Ȥⵯʤˡޤ
.I timeout
δ¤ڤˡθƤӽФʥϥɥˤäƳޤ줿
.TP
.B EINVAL
.I epfd
.B epoll
եǥץǤʤ
ޤ
.I maxevents
0 ʲǤ롣
.SH
.BR epoll_wait (2)
Linux ͥ 2.5.44 Ƴ줿 API Ǥ롣
ե Linux ͥ 2.5.66 dzꤵ٤Ǥ롣
.SH Ϣ
.BR epoll_create (2),
.BR epoll_ctl (2),
.BR epoll (7)
|