Function report |
Source Code:kernel\locking\lockdep.c |
Create Date:2022-07-28 09:50:07 |
Last Modify:2020-03-17 14:16:01 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Remove the lock from the list of currently held locks - this gets* called on mutex_unlock()/spin_unlock*() (or on a failed* mutex_lock_interruptible()).
Proto:static int __lock_release(struct lockdep_map *lock, unsigned long ip)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
struct lockdep_map * | lock | |
unsigned long | ip |
4217 | curr = current process |
4218 | merged = 1 |
4225 | depth = lockdep_depth |
4230 | If depth <= 0 Then |
4231 | print_unlock_imbalance_bug(curr, lock, ip) |
4232 | Return 0 |
4239 | hlock = @depth must not be zero |
4240 | If Not hlock Then |
4241 | print_unlock_imbalance_bug(curr, lock, ip) |
4242 | Return 0 |
4245 | If instance == lock Then lock_release_holdtime(hlock) |
4250 | If references Then |
4268 | lockdep_depth = i |
4269 | curr_chain_key = prev_chain_key |
4278 | If reacquire_held_locks(curr, depth, i + 1, & merged) Then Return 0 |
4286 | DEBUG_LOCKS_WARN_ON(lockdep_depth != depth - merged) |
4293 | Return 0 |
Name | Describe |
---|---|
lock_release |
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 |