c - 暂停程序执行直到处理中断 - 如何实现?

标签 c linux module interrupt interrupt-handling

我已经创建了一个处理中断的内核模块。此外,还有一个 C 程序。

该程序在执行期间会引起中断。当中断到来时,程序应该挂起,并保持挂起状态——直到内核模块中的中断处理程序完成对这个中断的处理。

请告诉我,如何实现?

最佳答案

您可以在内核模块执行此操作时等待具有属性 PTHREAD_PROCESS_SHARED 设置的互斥锁,当内核模块完成时,您可以向互斥锁发出信号,以便您的进程可以继续。

要设置它,您可以使用 pthread_mutexattr_setpshared

还有这个:

For inter-process synchronization, a mutex needs to be allo- cated
in memory shared between these processes. Since the memory for such a mutex must be allocated dynamically, the mutex needs to be explicitly initialized using mutex_init().

关于c - 暂停程序执行直到处理中断 - 如何实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15246670/

相关文章:

javascript - NodeJS 包依赖

module - zef 是否识别和处理预发布模块?

c - 快速搜索并替换 int [c; 中的一些半字节微优化]

C libpcap API 将数据包转换为结构(令人困惑)

linux - 我需要在 shell 中用双引号括起一个替代变量

Linux OS Lua 执行命令关闭操作系统 - 帮助新手理解

php - 何时更喜欢 XAMPP 而不是 Linux、Apache、MySQL 和 PHP 的完整安装

python - 如何有效地构造一个要从命令行部分运行的 python 脚本?

c - C-使用fgets直到换行符/-1

C - fgets 可以接受 NULL 参数吗?