1
在某些PCI硬件的设备驱动程序中,我有一个ioctl
调用,它等待PCI总线上的传入中断。使用wait_queue_head_t
,我通过拨打schedule()
让任务进入睡眠状态。如何知道schedule()调用何时因信号而返回?
然后,irq_handler
函数在PCI总线上产生中断时唤醒此任务。一切似乎正常工作。
我的问题是如何区分schedule()
呼叫是因为我的irq_handler
函数唤醒它还是因为某些信号已被发送而返回?
我必须自己处理irq_handler
函数中的标志吗?