Ubuntu 14.04。如果recv()
被阻止等待打开的连接上的数据,close()
或shutdown()
从另一个线程调用,则不会导致recv()
返回到同级之后关闭连接。
如何取消阻止recv()
?
我在thrift中的TServerSocket类中发现了这种行为。
答案 0 :(得分:0)
您的问题最不清楚,但如果您想在关闭另一个线程中的套接字之前取消阻塞recv()
,最好的方法是在关闭之前关闭套接字以进行输入。这将导致recv()
返回零,就好像对等方已关闭连接一样。