2013-05-03 117 views
0

在调试恐慌问题realted到自旋锁,我碰到这个定义自旋锁在功能如何do_raw_spin_lock在Linux中实现

来到在include/linux/spinlock.h

。我很难理解这个定义。为什么在do_raw_spin_lock函数之后使用__acquires(lock)?这种声明的意义是什么?

static inline void do_raw_spin_lock(raw_spinlock_t *lock) __acquires(lock) 
{ 
     __acquire(lock); 
     arch_spin_lock(&lock->raw_lock); 
} 

请帮我解释这样的声明是如何工作的。

回答