您现在的位置: 爱51代码网 >> 范文 >> 文章正文
每次EPOLLIN事件都会带一次EPOLLOUT事件

每次EPOLLIN事件都会带一次EPOLLOUT事件

我注册事件有:EPOLLIN | EPOLLOUT | EPOLLET | EPOLLRDHUP

ET模型下不是缓冲区由写变为不可写的时候EPOLLOUT才返回吗?我这个写不是总是返回的,而是有EPOLLIN 的时候才会带一次。man手册里面这样说
  When used as an edge-triggered interface, for performance reasons, it is possible to add the file descriptor inside the epoll inter‐face (EPOLL_CTL_ADD) once by specifying (EPOLLIN|EPOLLOUT).  This allows you to avoid continuously  switching  between  EPOLLIN  and EPOLLOUT calling epoll_ctl(2) with EPOLL_CTL_MOD.
实际跑过,没有遇到你说的可读时也有OUT事件的产生。在注册上之后,产生了一次EPOLLOUT,之后,只有当不可写变为可写时,才产生EPOLLOUT。我这边实际当中还未遇到发不出去而需要EPOLLOUT的情形。通常是我要主动去发,才MOD EPOLLOUT,主动触发,然后去send/write。 

这个问题都话最好取看man手册,

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    GIS用百度行政区域的经纬度直接画
    不小心卸载了.net 4 extend,vs2
    C#byte【】里的数转换成string时
    C#的session取不到值
    java如何判断一个字符串里的数字
    随机找出24个不一样的字,在把一
    java怎么实现html转为pdf
    lotus数据列表文档个数如何实时统
    lotus代理中LS如何将字符串保存到
    在lotus BS系统里怎样方便实现统
    不小心卸载了.net 4 extend,vs2
    C#byte【】里的数转换成string时
    C#的session取不到值
    java如何判断一个字符串里的数字
    java怎么实现html转为pdf
    在lotus BS系统里怎样方便实现统
    undefined reference timer_crea
    linux文件/usr/lib破坏了,还原后
    linux上运行system函数时,print
    Failed to open eth0
    虚拟机通过NAT与主机共享网络
    Make sure that you are log
    linux240:~ # rpm -qa sftp
    linux怎么进入桌面模式
    Missing Dependency: libQtG
    linux非抢占的模式下,如果时
    C语言ascii码如何做除法运算
    C语言ascii码如何做除法运算
    squid 支持ajax吗
    MySQL-server-5.5.33-1.linu
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |