首页 / 操作系统 / Linux / 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描述符就不会报错了。本文永久更新链接地址