能否将信号从自身进程推送到自身进程,然后作为 EPOLL 上的事件处理?
Can signals be pushed from and to self process and then handled as event on EPOLL?
我必须设计一个实时系统来处理从 posix mqueue(专有实现)上的多个进程接收到的数据。主要要求是不改变整个系统主循环延迟,而是处理事件。我不想从我接收数据的源进程创建事件,而是创建从自进程到自进程的信号,触发数据被接收,数据将在 EPOLL 处理。
- 那么,做这样的事情安全吗?
- 我尝试了一个伪代码并得到了这个结果:“sigqueue:
(errno: 11) 资源暂时不可用” 可能是什么
这个问题?
提前致谢。
此致,
塔努吉·辛哈
是的,你可以做到。一种简单的方法是创建一个管道 (https://linux.die.net/man/2/pipe)。您可以在主循环中读取它并从其他地方写入它。
我必须设计一个实时系统来处理从 posix mqueue(专有实现)上的多个进程接收到的数据。主要要求是不改变整个系统主循环延迟,而是处理事件。我不想从我接收数据的源进程创建事件,而是创建从自进程到自进程的信号,触发数据被接收,数据将在 EPOLL 处理。
- 那么,做这样的事情安全吗?
- 我尝试了一个伪代码并得到了这个结果:“sigqueue: (errno: 11) 资源暂时不可用” 可能是什么 这个问题?
提前致谢。
此致, 塔努吉·辛哈
是的,你可以做到。一种简单的方法是创建一个管道 (https://linux.die.net/man/2/pipe)。您可以在主循环中读取它并从其他地方写入它。