0
我正在跟蹤一段在嵌入式Linux中工作的程序的代碼,並且遇到了這個問題。我無法谷歌出有用的信息,告訴我它是如何工作的。「save_and_cli(flag)」如何運作?
這段代碼是這樣寫的:
unsigned char foo(*someaddress){
unsigned long flags = 0; //why use a long?
flags = save_and_cli(); //what is this?
spin_lock_irqsave(&someaddress, flags);//ok, this is a spin lock
...do something...
restore_flags(flags); //release something?
spin_unlock_irqrestore(&someaddress, flags);//release lock
}
看來這個龍旗值永遠不會改變的,什麼是save_and_cli()函數?
謝謝,如果你讀這個。
LOL。誠然,這是非常「古老」的。難怪找到一些文件很難。謝啦。很有幫助。 –