函数逻辑报告 |
Source Code:kernel\locking\rtmutex.c |
Create Date:2022-07-27 10:52:34 |
Last Modify:2020-03-17 14:26:38 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:__rt_mutex_slowlock() - Perform the wait-wake-try-to-take loop*@lock: the rt_mutex to take*@state: the state the task should block in (TASK_INTERRUPTIBLE* or TASK_UNINTERRUPTIBLE)*@timeout: the pre-initialized and started timer, or NULL for none*@waiter:
函数原型:static int __sched __rt_mutex_slowlock(struct rt_mutex *lock, int state, struct hrtimer_sleeper *timeout, struct rt_mutex_waiter *waiter)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
struct rt_mutex * | lock | |
int | state | |
struct hrtimer_sleeper * | timeout | |
struct rt_mutex_waiter * | waiter |
1171 | ret等于0 |
1173 | 循环 |
1175 | 如果Try to take an rt-mutex* Must be called with lock->wait_lock held and interrupts disabled*@lock: The lock to be acquired则退出 |
1182 | 如果此条件成立可能性大(为编译器优化)(state == 睡眠态)则 |
1192 | raw_spin_unlock_irq( & 保护自旋锁) |
1196 | 进程调度 |
1199 | set_current_state(state) |
1203 | 返回:ret |
名称 | 描述 |
---|---|
rt_mutex_slowlock | Slow path lock function: |
rt_mutex_wait_proxy_lock | _mutex_wait_proxy_lock() - Wait for lock acquisition*@lock: the rt_mutex we were woken on*@to: the timeout, null if none |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |