In_interrupt( ) 和In_irq( )【转】

简介: 转自:http://blog.csdn.net/do2jiang/article/details/5486888 in_interrupt() 是判断当前进程是否处于中断上下文,这个中断上下文包括底半部和硬件中断处理过程,函数实现:      #define in_interrupt(...

转自:http://blog.csdn.net/do2jiang/article/details/5486888

in_interrupt() 是判断当前进程是否处于中断上下文,这个中断上下文包括底半部和硬件中断处理过程,函数实现:

    

#define in_interrupt() ({ const int __cpu = smp_processor_id(); /
          (local_irq_count(__cpu) + local_bh_count(__cpu) != 0); })

 

判断中断计数和底半部计数是否〉0,如果只希望判断是否在硬件中断上下文,则可以使用:in_irq()。

【作者】 张昺华
【新浪微博】 张昺华--sky
【twitter】 @sky2030_
【facebook】 张昺华 zhangbinghua
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
目录
相关文章
|
3月前
看看FIQ和IRQ
看看FIQ和IRQ
38 0
|
9月前
中断-softirq-tasklet-work queue(下)
中断-softirq-tasklet-work queue
46 0
|
9月前
|
Linux 调度
中断-softirq-tasklet-work queue(上)
中断-softirq-tasklet-work queue
53 0
|
智能硬件
GPIO中断/外部中断EXTI的初始化
GPIO中断/外部中断EXTI的初始化
314 0
Interrupt
Thread#interrupt()的作用其实也不是中断线程,而是通知线程应该中断了 Thread#interrupted()检查当前中断标识(即查看当前中断信号是true还是false),并清除中断信号 Thread#isInterrupted()检查当前中断标识
3769 0