【发布时间】:2013-02-06 22:53:11
【问题描述】:
让我们考虑一个场景:-
当发生中断时,内核线程获取锁并处于临界区的中间。 中断处理程序运行并到达相同的临界区并尝试获取锁并进入睡眠状态。
这会发生还是在关键部分期间禁用了中断? 采取了哪些措施来避免它?
// Some Code
Acquire_lock()
Critical section //Interrupt occurs and arrives to acquire the same lock.
Disable_lock()
【问题讨论】:
-
您是否有特定的平台,或者这只是一个通用问题?
-
一个通用问题。假设 x86 机器上的 Linux 内核?
标签: locking interrupt critical-section interrupt-handling