我正在编写一个应用程序,我正在创建一些named pipes(FIFO管道),我需要等待进程打开其中一个命名管道,以便我可以向其发送数据。但是,我无法弄清楚如何在这个用例中使用epoll
。
我尝试使用O_RDWR|O_NONBLOCK
标记打开命名管道(使用O_WRONLY|O_NONBLOCK
返回ENXIO
错误),然后使用epoll
轮询EPOLLOUT
事件。但是,由于某些原因,命名管道在打开后立即可写,因此epoll_wait
会立即返回,而无需等待读者连接。
如何使用epoll
同时等待读者连接到多个命名管道?