您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何检查存储在变量中的给定文件描述符是否仍然有效?

如何检查存储在变量中的给定文件描述符是否仍然有效?

fcntl(fd, F_GETFD)是检查fd是否有效的打开文件描述符的最便宜的规范方法。如果需要大量检查,则使用poll零超时并将events成员设置为0并POLLNVALrevents返回后进行检入更为有效。

话虽如此,“检查给定资源句柄是否仍然有效”操作几乎总是根本上是不正确的。释放资源句柄后(例如fd为closed),可以将其值重新分配给您分配的下一个此类资源。如果还有其他可用的引用,它们将错误地在新资源上而不是旧资源上运行。因此,真正的答案可能是:如果您尚不了解程序的逻辑,则有一些基本的基本逻辑错误需要修复。

其他 2022/1/1 18:13:35 有678人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶