我有几个线程,epoll_fd
与epoll_wait()
. epoll 集中的描述符是这样设置的:
struct epoll_event event;
event.events = EPOLLIN | EPOLLONESHOT;
event.data.fd = fd;
的目的EPOLLONESHOT
是保证每个描述符同时只在一个线程中处理。如果一个线程收到EPOLLIN
了特定的事件,是否fd
可以在另一个线程中触发相同的事件?EPOLLHUP
EPOLLERR
fd
我建议他们不能 - 因为描述符由于EPOLLONESHOT
. 但如果他们可以 - 我可以EPOLLRDHUP
改用吗?当描述符以任何方式变为无效/关闭/断开连接时,它是否会至少触发一次?