0

我有几个线程,epoll_fdepoll_wait(). epoll 集中的描述符是这样设置的:

struct epoll_event event;
event.events = EPOLLIN | EPOLLONESHOT;
event.data.fd = fd;

的目的EPOLLONESHOT是保证每个描述符同时只在一个线程中处理。如果一个线程收到EPOLLIN了特定的事件,是否fd可以在另一个线程中触发相同的事件?EPOLLHUPEPOLLERRfd

我建议他们不能 - 因为描述符由于EPOLLONESHOT. 但如果他们可以 - 我可以EPOLLRDHUP改用吗?当描述符以任何方式变为无效/关闭/断开连接时,它是否会至少触发一次?

4

1 回答 1

0

似乎禁用的描述符不接收EPOLLHUP

于 2013-09-26T17:47:48.353 回答