【发布时间】:2015-01-14 16:50:58
【问题描述】:
假设我将不可写的 fd 添加到 epoll watcher 以等待它何时变为可写。
epoll_ctl(epollfd, EPOLL_CTL_ADD, non_writable_fd, {EPOLLOUT})
non_writable_fd 仍然不可写,epoll_wait 将返回 0 就绪 fds
那我就做这个
dup2(writable_fd, non_writable_fd)
writable_fd 是一个可写的文件描述符。现在我期待epoll_wait 会立即返回 1 fd。但不幸的是,它仍然超时并返回 0 fd。
为什么当它与select 和poll 一起使用时,这种技术却不适用于epoll?
【问题讨论】: