【发布时间】:2012-10-07 05:40:11
【问题描述】:
我正在阅读一些代码,我在函数 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的一部分,只是我在网上找到的一些随机代码
【问题讨论】:
-
是什么代码,才能避免?
标签: c linux locking kernel deadlock