【发布时间】:2014-01-21 10:43:34
【问题描述】:
在我的例子中,两个epoll_wait循环(两个线程)中使用了相同的fd(socket),一个循环仅用于读取(pollin),另一个循环仅用于写入(pollout),pollout仅在以下情况下启用我有数据要写。通常,当套接字被对等方关闭时,pollin首先接收,有没有最简单的方法来通知写循环来触发pollout或pollerr事件(做一些干净的工作并从epoll中删除fd)?在套接字被对等方关闭后,我尝试直接从读取循环中 epoll_ctl(EPOLLOUT),但它仅适用于某些系统。我还考虑添加 timerfd 来通知写循环。
【问题讨论】: