mutex - 带互斥锁/解锁的 Cppcheck
问题描述
Cppcheck 有没有办法检查互斥锁/解锁功能?
一个例子(有错误):
void foo() {
mutex_lock();
if (condition) { // condition is true
return;
}
mutex_unlock();
}
有没有办法 Cppcheck 可以检测到这样的问题(互斥锁保持锁定)?
解决方案
您可以使用 PVS-Studio 分析器检测此错误。将针对此代码发出V1020诊断:V1020 函数退出而未调用“mutex_unlock”函数。检查行:20、18.test.cpp。
这是一个经验诊断,它试图根据函数名称找出代码的工作方式。
推荐阅读
- python - 正确使用 readline
- amazon-web-services - 如何使用 boto3 将文件上传到 Amazon Glacier Deep Archive
- visual-studio-code - VSCode 似乎没有来自 Atom 的自动完成路径版本?
- swift - 如何禁用出现在月份标签后面的 X 轴下方的 0.0 数字?
- r - 有条件时根据情况循环创建新变量
- recursion - Oracle/PLSQL 递归
- javascript - 专注于输入字段
- c++ - 使用数据练习:日、月、年
- php - ldap_add():服务器不愿意执行——使用PHP向AD中插入记录
- android - 使用 Kotlin 在 Android 10 上对标记进行聚类