我正在阅读一些代码,并在函数 foo 中看到:
// x is a global variable shared by all functions
spin_lock(&x);
if(some condition)
function();
spin_unlock(&x);
在函数()中;
// do stuff
spin_lock_irqsave(&x, vals);
....
如果“某些条件”为真,会不会出现僵局?这似乎太明显了,所以我想也许我错过了什么?
谢谢
编辑:代码不是linux的一部分,只是我在网上找到的一些随机代码