常规文件中的EOF条件仍然可读。换句话说,您read()
将不会受阻。这是一个很好的列表,说明poll()
了不同类型的文件描述符中不同的EOF 实现如何反应:http ://www.greenend.org.uk/rjk/tech/poll.html
请注意,常规文件始终返回POLLIN。因此,您需要单独测试EOF。实际上,对常规文件进行轮询对您没有任何帮助。您将需要套接字或管道或其他东西来测试您的代码。
其他注意事项:您可能要检查中的其他结果.revents
。POLLERR,POLLHUP和POLLNVAL都发出不同的错误情况信号,并且需要特殊处理。