我必须设计一个实时系统来处理从 posix mqueue(专有实现)上的多个进程接收到的数据。主要要求是不改变整个系统的主循环延迟,而是处理事件。我不想从接收数据的源进程创建事件,而是从自进程创建信号到自进程触发数据被接收,数据将在 EPOLL 处处理。
- 那么,做这样的事情安全吗?
- 我尝试了一个伪代码并得到了这个结果:“ sigqueue:(errno:11)资源暂时不可用”这可能是什么问题?
提前致谢。
问候, Tanuj Sinha
是的,你可以这样做。一个简单的方法是创建一个管道(https://linux.die.net/man/2/pipe)。您可以在主循环中读取它并从其他地方写入它。