您好,欢迎访问本站博客!登录后台查看权限
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧
  • 网站所有资源均来自网络,如有侵权请联系站长删除!

epoll出现Bad file descriptor的原因

Linux admin 2018-04-16 10817 次浏览 0个评论
网站分享代码

epoll出现Bad file descriptor的原因

错误的顺序:

  close();

  epoll_ctl(epollfd, EPOLL_CTL_DEL, sockfd, &ev);

正确的顺序:

  epoll_ctl(epollfd, EPOLL_CTL_DEL, sockfd, &ev);

  close();

在删除事件epoll_ctl(epollfd, EPOLL_CTL_DEL, sockfd, &ev);之前调用close()关闭socket描述符,就会导致删除事件时epoll_ctl()返回值小于0,并且提示Bad file descriptor。在事件删除后,再调用close()关闭对应的socket描述符就不会报错了。

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-04/129818.htm

---------佛说:世间万物皆空。唯其空,便能包容万物。→www.zhixinnet.cn←

已有 10817 位网友参与,快来吐槽:

发表评论

站点统计