linux 为什么在不同的线程中调用close()和dup 2()/read()会导致Bad file descriptor错误?

iswrvxsc  于 2023-04-29  发布在  Linux
关注(0)|答案(1)|浏览(135)

下面是strace日志文件。有人能给我解释一下fd8发生了什么事吗?

如何避免这种情况?
我想知道我的代码出了什么问题,以及如何解决这个问题。

dfddblmv

dfddblmv1#

我看到了问题。这是因为线程143504关闭fd 8两次。在第二次调用close()之前,另一个线程143505已经创建了新的fd 8。

相关问题