出现epoll failed: Bad file descriptor的原因
2024-08-22 23:45:08
今天遇到了这个问题,之前找了半天原来是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描述符就不会报错了。
最新文章
- 未能加载文件或程序集“Newtonsoft.Json”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配
- Can&#39;t update: no tracked branch
- 【LEETCODE OJ】Binary Tree Preorder Traversal
- 基于jQuery的视频和音频播放器jPlayer
- Linux内核设计与实现 读书笔记 转
- JBoss部署项目log4j配置会造成死锁问题,浏览器访问一直pending状态
- Ubuntu14.04安装Oracle12C
- PPT扁平化风格设计手册
- poj1042
- Qwerty78 Trip(组合数,规律,逆元)
- JavaScript中的事件处理程序
- LPC1768基本输入输出GPIO使用
- http_load压力测试windows版使用方法及结果分析
- HTML 5.2 新特性介绍
- 编译ROCKSDB总结
- Spark SQL,如何将 DataFrame 转为 json 格式
- [再寄小读者之数学篇](2014-06-23 Hardy 空间、BMO空间与 Triebel-Lizorkin 空间)
- Centos7下GlusterFS分布式存储集群环境部署记录
- UVa - 10341
- python3.7安装