如果关闭受监控的fd,select应该做什么?

如果关闭受监控的fd,select应该做什么?,select,posix,Select,Posix,我可以通过测试来发现行为,但这不是重点。在回答另一个问题时,一位评论者建议从另一个线程关闭受监视的fd以唤醒select。另一位评论者在标准中找不到这种行为的参考,我也找不到 有人能提供一个指向此行为标准的指针吗?来自“开放组基础规范第7期”中的描述: 无论函数是否能成功传输数据,当对O_NONBLOCK clear输入函数的调用不会阻塞时,描述符应视为已准备好读取。(函数可能返回数据、文件结束指示或错误,而不是指示其被阻止的错误,并且在每种情况下,描述符都应视为已准备好读取。) 所以,我认为这

我可以通过测试来发现行为,但这不是重点。在回答另一个问题时,一位评论者建议从另一个线程关闭受监视的fd以唤醒
select
。另一位评论者在标准中找不到这种行为的参考,我也找不到

有人能提供一个指向此行为标准的指针吗?

来自“开放组基础规范第7期”中的描述:

无论函数是否能成功传输数据,当对O_NONBLOCK clear输入函数的调用不会阻塞时,描述符应视为已准备好读取。(函数可能返回数据、文件结束指示或错误,而不是指示其被阻止的错误,并且在每种情况下,描述符都应视为已准备好读取。)

所以,我认为这种方法是可移植的