SpinLock read_lock_irqsave 标志属性

Poo*_*rna 0 synchronization device-driver linux-kernel

这是关于void spin_lock_irqsave(spinlock_t *lock, unsigned long flags);函数调用。之前提到的中断状态存储在标志中,我们可以通过将其传递给spin_unlock_irqrestore函数来恢复它们。

但是我不知道值传递的标志如何在spin_lock_irqsave调用时捕获先前的中断状态。

zwo*_*wol 5

spin_lock_irqsave是宏,不是函数。因此,flags即使它显然是按值传递的,它也可以分配给。

看:

http://lxr.linux.no/#linux+v2.6.35.4/include/linux/spinlock.h#L312
http://lxr.linux.no/#linux+v2.6.35.4/include/linux /spinlock.h#L187