【发布时间】:2012-04-06 16:20:09
【问题描述】:
假设我在包含一堆读取文件描述符的 FD_SET 上调用 select()。如果在 select() 调用期间,文件描述符之一关闭,会发生什么情况?假设发生了某种错误,那么我是否有责任从集合中查找并删除已关闭的文件描述符?
【问题讨论】:
-
请记住,当您在 select() 调用中时,驻留在 fd_set 中的文件描述符唯一可能的方法是如果另一个线程关闭()该描述符。 (让对等方或本地 tcp/ip 堆栈关闭 tcp 连接是另一回事)。