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);
}
请帮我解释这样的声明是如何工作的。