我正在开发一个嵌入式 Linux 系统,当一个特定的 IRQ 处理程序运行时,我需要关闭系统。我没有很多时间(几十毫秒)。我正在使用emergency_restart(),但我现在需要执行一些无法从中断上下文中完成的工作(将与关闭相关的信息写入闪存),因为闪存驱动程序不支持它。
谁能推荐一个好方法来完成这个?我很想通过向他们发送信号来正确杀死我的用户空间应用程序,以便他们可以进行闪存写入。我该怎么做呢?我想,作为替代方案,我可以有一个高优先级进程,等待我的中断生成的信号量......我有什么选择?提前致谢!