Sockets Select系统调用的虚假准备就绪通知
在上,在BUGS部分中提到,select系统调用有时可能会错误地将FD设置为ready,随后的read调用将返回0。本文描述了一个这样的例子(错误的校验和),但我假设还有其他原因(否则他们会修复这个问题) 你知道Select错误返回FD ready的其他原因是什么吗 这是否也适用于其他操作系统。我目前正在询问有关Linux的问题 以上链接的相关部分: 在Linux下,select()可能会报告 套接字文件描述符为“准备就绪” “阅读”,尽管如此 后续读取块。这可能是因为 示例发生在数据到达时 但经审查,这是错误的 校验和被丢弃。可能有 是指在其他情况下 描述符被错误地报告为 准备好的因此,使用它可能更安全 O_非阻塞不应 街区Sockets Select系统调用的虚假准备就绪通知,sockets,select,system-calls,Sockets,Select,System Calls,在上,在BUGS部分中提到,select系统调用有时可能会错误地将FD设置为ready,随后的read调用将返回0。本文描述了一个这样的例子(错误的校验和),但我假设还有其他原因(否则他们会修复这个问题) 你知道Select错误返回FD ready的其他原因是什么吗 这是否也适用于其他操作系统。我目前正在询问有关Linux的问题 以上链接的相关部分: 在Linux下,select()可能会报告 套接字文件描述符为“准备就绪” “阅读”,尽管如此 后续读取块。这可能是因为 示例发生在数据到达时 但
这并不是一个确切的答案,但纵观epoll,这些问题似乎已经解决了 如果我可以信任netdev,他们至少尝试在poll()和select()中修复它(破坏其他东西) 因此,在可预见的将来,这个bug似乎并不相关