5.12. request poll()¶
5.12.1. 名称¶
request-poll - 等待文件描述符上的某些事件
5.12.2. 概要¶
#include <sys/poll.h>
-
int poll(struct pollfd *ufds, unsigned int nfds, int timeout)¶
5.12.3. 参数¶
ufds
要监视的文件描述符事件列表
nfds
*ufds 数组中文件描述符事件的数量
timeout
等待事件的超时时间
5.12.4. 描述¶
使用 poll()
函数,应用程序可以等待请求完成。
成功时,poll()
返回已选择的文件描述符数量(即,pollfd
结构的各自 revents
字段非零的文件描述符)。请求文件描述符在请求完成时在 revents
中设置 POLLPRI
标志。当函数超时时,它返回零值,失败时返回 -1,并适当地设置 errno
变量。
尝试轮询尚未排队的请求将在 revents
中设置 POLLERR
标志。
5.12.5. 返回值¶
成功时,poll()
返回具有非零 revents
字段的结构数量,如果调用超时则返回零。出错时,返回 -1,并适当地设置 errno
变量
EBADF
一个或多个
ufds
成员指定了无效的文件描述符。EFAULT
ufds
引用了无法访问的内存区域。EINTR
该调用被信号中断。
EINVAL
nfds
值超过RLIMIT_NOFILE
值。使用getrlimit()
获取此值。