感谢支持
我们一直在努力

epoll出现Bad file descriptor的原因

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

赞(0) 打赏
转载请注明出处:服务器评测 » epoll出现Bad file descriptor的原因
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏