【发布时间】:2022-01-12 21:26:02
【问题描述】:
假设我添加了一个 epoll 套接字,同时等待 EPOLLIN 和 EPOLLOUT 事件,如下所示:
struct epoll_event event;
event.events = EPOLLIN | EPOLLOUT;
epoll_ctl(epfd, EPOLL_CTL_ADD, socket, &event);
如果套接字变得可读和可写,我是否需要调用epoll_wait() 两次来接收这两个事件,还是返回一个设置了两个位域的epoll_event? (假设 epoll_wait() 以 1 的 maxevents 调用。)
【问题讨论】:
-
您是否考虑过为
epoll_wait()阅读the documentation?如果您不理解文档,我们可以澄清,但在这种情况下,请指出您不理解的部分。 -
当我问这个问题时,我已经阅读了手册页,但不确定多个事件是作为多个结构返回还是作为一个 epoll_event 中的多个事件返回。
标签: c sockets asynchronous epoll