2021-05-12 14:32:11
epoll出現Bad file descriptor的原因
2020-06-16 17:44:11
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
相關文章