mutex - 带互斥锁定/解锁的 Cppcheck

标签 mutex cppcheck

有没有办法让 Cppcheck 检查互斥锁定/解锁功能?

一个例子(有错误):

void foo() {
    mutex_lock();
    if (condition) { // condition is true
        return;
    }
    mutex_unlock();
}

有没有办法让 Cppcheck 检测到这样的问题(互斥锁保持锁定状态)?

最佳答案

不,目前不支持检查锁定/解锁功能。

你好像也在 Cppcheck 论坛上问过这个问题,那里已经有反馈了: https://sourceforge.net/p/cppcheck/discussion/development/thread/a7b82c3e/

Daniel Marjamäki 的回答中描述了目前可以使用的最佳解决方法: https://sourceforge.net/p/cppcheck/discussion/development/thread/a7b82c3e/#f237 它建议使用 Cppcheck 已经支持的包装函数和分配/释放检查。

关于mutex - 带互斥锁定/解锁的 Cppcheck,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51740826/

相关文章:

c - 使用互斥锁锁定对列表对象的所有访问

c++ - 如何执行 cppcheck 交叉翻译单元 (CTU) 静态分析?

c++ - 使用 cppcheck 进行多行抑制

c++ - cppcheck 空指针取消引用 : m_buffer - otherwise it is redundant to check it against null

cppcheck - 为什么静态分析工具会忽略这个看似显而易见的情况?

c++ - QReadWriteLock递归

c++ - 多线程中的同步

c++ - 如何检测仅使用 cppcheck 从未使用的函数调用的函数?

c++ - mutex 或 flock fcntl.h 只锁定写操作

multithreading - 使用多线程和互斥锁时对互斥锁的断言