【发布时间】:2018-10-01 03:12:54
【问题描述】:
我想使用单个线程来监听来自多个套接字(一些 TCP、一些 UDP)和一个或多个管道/FIFO 的传入流量。这些套接字/管道需要动态创建/删除。这需要我从多个线程修改 epoll 中使用的文件描述符,同时它被网络事件读取线程阻塞。这是允许的吗? Linux 手册页似乎没有提供任何相关信息。
【问题讨论】:
标签: linux linux-kernel epoll
我想使用单个线程来监听来自多个套接字(一些 TCP、一些 UDP)和一个或多个管道/FIFO 的传入流量。这些套接字/管道需要动态创建/删除。这需要我从多个线程修改 epoll 中使用的文件描述符,同时它被网络事件读取线程阻塞。这是允许的吗? Linux 手册页似乎没有提供任何相关信息。
【问题讨论】:
标签: linux linux-kernel epoll
不能修改已经运行的epoll()的参数。
但是可以强制线程退出 epoll() - 例如通过发送信号 - 并使用更新的参数重新输入 epoll()。
【讨论】: