2013-05-03 161 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); 
} 

請幫我解釋這樣的聲明是如何工作的。

回答