【发布时间】:2011-06-17 18:12:53
【问题描述】:
假设我启动了一个线程以在端口上接收。套接字调用将在 recvfrom 上阻塞。 然后,不知何故在另一个线程中,我关闭了套接字。
在 Windows 上,这将解除对 recvfrom 的阻止,并且我的线程执行将终止。
在 Linux 上,这不会解除对 recvfrom 的阻塞,因此,我的线程永远什么都不做,线程执行也不会终止。
谁能帮助我了解 Linux 上正在发生的事情?当套接字关闭时,我希望 recvfrom 解除阻塞
我一直在阅读有关使用 select() 的信息,但我不知道如何在我的特定情况下使用它。
【问题讨论】: