从另一个线程关闭套接字时,阻塞recv不会退出吗?

发布于 2021-02-01 16:45:46

在Linux中,如果我们recv从一个线程调用阻塞并从另一个线程关闭同一个套接字,recv则不会退出。

为什么?

关注者
0
被浏览
97
1 个回答
  • 面试哥
    面试哥 2021-02-01
    为面试而生,有面试问题,就找面试哥。

    检查是否已关闭套接字的所有文件描述符。如果在“远程”端有任何打开的端口(假设这是您尝试关闭的端口),则“
    对等方尚未执行有序的关闭 ”。

    如果仍然不起作用,请shutdown(sock, SHUT_RDWR)在远端调用,无论引用计数如何,都将关闭套接字。



推荐阅读
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看