码迷,mamicode.com
首页 > 其他好文 > 详细

poll系统调用

时间:2021-02-01 11:45:38      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:class   成员   文件描述符   数组   监听   style   color   内核   orm   

1 #include <poll.h>
2 int poll(struct pollfd* fds,nfds_t nfds,int timeout);

  fds,pollfd结构类型的数组(可变长数组,数组元素为结构体pollfd);结构体中含有三个成员变量(int,short,short),分别为文件描述符fd,注册的事件evevts(一系列事件的按位或),实际发生的事件revents;fd成员指定fd,events成员告诉poll函数监听fd上的哪些事件(可读,可写,异常事件),revents成员由内核对其进行修改,通知应用程序实际发生了哪些事件;

  nfds,被监听的fd的数量;

  timeout,设置poll函数的超时时间,单位为毫秒;

  返回值,timeout为0,poll调用立即返回;timeout为-1,poll调用一直阻塞,直到某个fd就绪。

      poll成功,返回就绪的fd的数量;(超时时间内没有fd就绪,返回0)

      poll失败,返回-1,并设置errno。

 

  poll事件的类型

  POLLIN-数据可读;POLLRDNORM-普通数据可读;POLLRDBAND-优先级带数据可读;POLLPRI-高优先级数据可读;

  POLLOUT-数据可写;POLLWRNORM-普通数据可写;POLLWRBAND-优先级带数据可写;

  POLLRDHUP-TCP连接对方关闭或者对方关闭了写操作;

  POLLERR-错误;POLLHUP-挂起;POLLNVAL-fd没有打开。

poll系统调用

标签:class   成员   文件描述符   数组   监听   style   color   内核   orm   

原文地址:https://www.cnblogs.com/yongjin-hou/p/14348962.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!