我使用epoll来获取有关传入数据的通知。这并不难,因为epoll_wait()返回的所有事件都表明我可以从epoll_event.data.fd(套接字描述符)读取数据。但现在我想要同时获得两种类型的通知:接收和发送(套接字可用于发送)。但是我无法这样做,因为:
- 由epoll_wait()返回的epoll_event.events与我在epoll_ctl()中传递的相同。所以在我的情况下它同时包含EPOLLIN和EPOLLOUT。
- 如果我尝试将一个套接字作为EPOLLIN事件和EPOLLOUT事件两次添加到epoll中,我将得到EEXIST错误。