在调试与自旋锁相关的恐慌问题时,我遇到了自旋锁的这个定义
包括/linux/spinlock.h
. 我很难理解这个定义。为什么要__acquires(lock)
在do_raw_spin_lock
函数之后使用?这样的声明有何意义?
static inline void do_raw_spin_lock(raw_spinlock_t *lock) __acquires(lock)
{
__acquire(lock);
arch_spin_lock(&lock->raw_lock);
}
请帮助我如何解码和工作这样的声明。