Function report |
Source Code:kernel\locking\mutex.c |
Create Date:2022-07-28 09:47:15 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Trylock variant that retuns the owning task on failure.
Proto:static inline struct task_struct *__mutex_trylock_or_owner(struct mutex *lock)
Type:struct task_struct
Parameter:
Type | Parameter | Name |
---|---|---|
struct mutex * | lock |
109 | curr = current process |
111 | owner = atomic_long_read( & owner) |
112 | cycle |
113 | flags = __owner_flags(owner) |
114 | task = owner & ~MUTEX_FLAGS |
116 | If task Then |
117 | If Value is more likely to compile time(task != curr) Then Break |
120 | If Value is more likely to compile time(!(flags & MUTEX_FLAG_PICKUP)) Then Break |
123 | flags &= ~MUTEX_FLAG_PICKUP |
124 | Else flags &= ~MUTEX_FLAG_HANDOFF |
144 | Return __owner_task(owner) |
Name | Describe |
---|---|
__mutex_trylock | Actual trylock that will work on any unlocked state. |
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 |