函数逻辑报告 |
Source Code:kernel\locking\lockdep.c |
Create Date:2022-07-27 10:50:21 |
| Last Modify:2020-03-17 14:16:01 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:__lock_set_class
函数原型:static int __lock_set_class(struct lockdep_map *lock, const char *name, struct lock_class_key *key, unsigned int subclass, unsigned long ip)
返回类型:int
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct lockdep_map * | lock | |
| const char * | name | |
| struct lock_class_key * | key | |
| unsigned int | subclass | |
| unsigned long | ip |
| 4120 | merged等于0 |
| 4128 | depth等于lockdep_depth |
| 4133 | 如果DEBUG_LOCKS_WARN_ON(!depth)则返回:0 |
| 4136 | hlock等于@depth must not be zero |
| 4137 | 如果非hlock则 |
| 4138 | print_unlock_imbalance_bug(curr, lock, ip) |
| 4139 | 返回:0 |
| 4144 | class_idx等于class减lock_classes |
| 4146 | lockdep_depth等于i |
| 4147 | curr_chain_key等于prev_chain_key |
| 4149 | 如果reacquire_held_locks(curr, depth, i, & merged)则返回:0 |
| 4156 | 如果DEBUG_LOCKS_WARN_ON(lockdep_depth != depth - merged)则返回:0 |
| 4158 | 返回:1 |
| 名称 | 描述 |
|---|---|
| lock_set_class |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |