I/O复用-poll系统调用
来源:互联网 发布:淘宝金冠和天猫哪个好? 编辑:程序博客网 时间:2024/06/18 11:25
用途:
poll 系统调用和 select 类似,也是在指定时间内轮询一定数量的文件描述符,检测其中是否有就绪的文件描述符。
#include <poll.h>/* * fd 参数是一个 pollfd 结构类型的数组,它指定所有感兴趣的文件描述符上发生的可读、可写和异常等事件 * nfds 参数指定被监听事件集合 fds 的大小 * timeout 参数指定 poll 的超时值,当 timeout 为 -1 时,poll 调用将永远阻塞,直到某个事件发生 */int poll( struct pollfd* fds, nfds_t nfds, int timeout );struct pollfd{ int fd; /* 文件描述符 */ short events; /* 注册的事件 */ short revents; /* 实际发生的事件,由内核填充 */}typedef unsigned long int nfds_t;
poll 系统调用的返回值的含义与 select 相同,成功返回就绪(可读、可写和异常)文件描述符的总数,超时时间内没有任何文件描述符就绪的话就返回 0,失败返回 -1 并设置 errno 为 EINTR
poll 支持的事件类型:
POLLIN——数据(包括普通数据和优先数据)可读
POLLRDNORM——-普通数据可读
POLLRDBAND——-优先级带数据可读(linux不支持)
POLLPRI——-高优先级数据可读,比如TCP带外数据
POLLOUT——数据(包括普通数据和优先数据)可写
POLLWRNORM——普通数据可写
POLLWRBAND——优先级带数据可写
POLLRDHUP——TCP连接被关闭,或者对方关闭了写操作。它由GNU引入
POLLERP——错误
POLLHUP——挂起。比如管道的写端被关闭后u,读端描述符上将收到POLLHUP事件
POLLNVAL——文件描述符没有打开
0 0
- I/O复用-poll系统调用
- I/O复用——poll系统调用
- I/O多路复用之POLL系统调用
- I/O复用之poll系统调用
- I/O复用系统调用之select()和poll()
- I/O复用的系统调用select、poll、epoll
- I/O复用poll
- I/O复用------poll
- I/O复用-select系统调用
- I/O复用-epoll系列系统调用
- I/O复用:Select和Poll函数
- i/o复用 select和poll用法
- 浅谈I/O复用:select、poll、epoll
- I/O复用(一)--select & poll
- I/O复用 select poll epoll
- I/O复用 select和poll函数
- I/O复用:select和poll函数
- Linux I/O复用:select ,poll,epoll
- mfc 设置、清除列表框(CListctrl)行颜色
- 本地化下按首字母分组排序的神器——UILocalizedIndexedCollation
- leetcode(136)数组之Single Number
- eclipse使用maven创建web3.0项目
- java中修改源码
- I/O复用-poll系统调用
- 漏洞应急响应之批量poc验证
- IOS6.0 应用内直接下载程序 不需跳转AppStore
- Linux之Centos7切换JAVA版本
- cms日志配置
- ${pageContext.request.contextPath}和${ctx}
- PHP代码审计之基础篇
- ABAP Version Management
- angularjs和ionic学习博客和问题记录