Function report | 
Source Code:kernel\locking\rtmutex.c | 
Create Date:2022-07-28 09:52:18 | 
| Last Modify:2020-03-17 14:26:38 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:__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:
Proto:static int __sched __rt_mutex_slowlock(struct rt_mutex *lock, int state, struct hrtimer_sleeper *timeout, struct rt_mutex_waiter *waiter)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct rt_mutex * | lock | |
| int | state | |
| struct hrtimer_sleeper * | timeout | |
| struct rt_mutex_waiter * | waiter | 
| 1171 | ret = 0 | 
| 1173 | cycle | 
| 1175 | If Try to take an rt-mutex* Must be called with lock->wait_lock held and interrupts disabled*@lock: The lock to be acquired Then Break | 
| 1182 | If Value is more likely to compile time(state == TASK_INTERRUPTIBLE) Then | 
| 1184 | If signal_pending(current process) Then ret = -EINTR | 
| 1188 | If ret Then Break | 
| 1192 | raw_spin_unlock_irq( & wait_lock) | 
| 1196 | schedule() | 
| 1198 | raw_spin_lock_irq( & wait_lock) | 
| 1199 | set_current_state(state) | 
| 1203 | Return ret | 
| Name | Describe | 
|---|---|
| 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 | 
| Source code conversion tool public plug-in interface  | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion  |