今天遇到了这个问题,之前找了半天原来是IO事件的socket描述符在epoll_ctl()处理之前关闭了。

if(epoll_ctl(epollFd, EPOLL_CTL_DEL, ev->fd, &epv) < 0)
  fprintf(stderr, "Event Del failed[fd=%d], epoll failed: %s\n",ev->fd, strerror(errno));

在删除事件   epoll_ctl(kdpfd, EPOLL_CTL_DEL, events[n].data.fd,&ev);

之前 调用close()关闭socket描述符,
就会导致删除事件时epoll_ctl()返回值小于0,并且提示epoll failed: Bad file descriptor

事件删除后,再调用close()关闭对应的socket描述符就不会报错了。

最新文章

  1. 未能加载文件或程序集“Newtonsoft.Json”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配
  2. Can&#39;t update: no tracked branch
  3. 【LEETCODE OJ】Binary Tree Preorder Traversal
  4. 基于jQuery的视频和音频播放器jPlayer
  5. Linux内核设计与实现 读书笔记 转
  6. JBoss部署项目log4j配置会造成死锁问题,浏览器访问一直pending状态
  7. Ubuntu14.04安装Oracle12C
  8. PPT扁平化风格设计手册
  9. poj1042
  10. Qwerty78 Trip(组合数,规律,逆元)
  11. JavaScript中的事件处理程序
  12. LPC1768基本输入输出GPIO使用
  13. http_load压力测试windows版使用方法及结果分析
  14. HTML 5.2 新特性介绍
  15. 编译ROCKSDB总结
  16. Spark SQL,如何将 DataFrame 转为 json 格式
  17. [再寄小读者之数学篇](2014-06-23 Hardy 空间、BMO空间与 Triebel-Lizorkin 空间)
  18. Centos7下GlusterFS分布式存储集群环境部署记录
  19. UVa - 10341
  20. python3.7安装

热门文章

  1. perform-maintence-on-replica-set-members
  2. 【转】js获取对象的所有属性和方法
  3. RabbitMQ 消息队列 应用
  4. Unencapsulate SVM root mirror (ZT)
  5. leetcode516
  6. VI中的多行删除与复制(转)
  7. java之控制多幅图片
  8. appium如何连接模拟器代码实例
  9. DHCP工作工程
  10. MySQL存储引擎 -- MyISAM(表锁定) 与 InnoDB(行锁定) 锁定机制