gpt4 book ai didi

c - STDIO 锁定 : how to check if every flockfile() has been matched by funlockfile()?

转载 作者:行者123 更新时间:2023-12-04 06:19:25 25 4
gpt4 key购买 nike

我有一些例程可以多次写入 stdio 流以生成单个日志消息。为了保持每条消息分开,即使在多线程应用程序中,我将每条消息都用对 flockfile() 和 funlockfile() 的调用括起来。在我的单元测试中,我想检查锁是否没有悬空,但我怎么知道呢?

我想做一个 ftrylockfile(),但是锁是递归的,如果我从与初始 flockfile() 相同的线程执行它,它就会成功。引擎盖下有一个锁计数,但我看不出有什么办法读取它,或检查它的零值。

最佳答案

由于您是在单元测试中执行此操作,因此模拟 flockfile()funlockfile() .在您的模拟中,您可以跟踪计数并在完成时验证它为零。

关于c - STDIO 锁定 : how to check if every flockfile() has been matched by funlockfile()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6782201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com