移植OS-9信号处理程序
我正在开发一个将大量OS-9(微波)代码移植到linux的项目。移植OS-9信号处理程序
OS-9中的信号处理功能允许您创建自己的信号,或者至少它是如何实现的(intercept()函数)。我并不十分了解Linux信号,并且一直在努力教自己。我有一个sigusr1工作的sigaction路线,只是为了让自己熟悉。在传统的OS-9代码中,有10个用户定义的信号。什么是最好的方式来完成这个在Linux?
OS-9信号处理程序是一个带有大开关语句的函数。每个信号都对应(设置)一个全局变量,该变量在该进程代码中的其他位置执行。
感谢, 赛斯
回答:
您需要SIGRTMIN和SIGRTMAX之间使用信号编号。 这是讨论的here
您发送信号杀死(如果你没有数据)或sigqueue(如果你有数据)。
您会收到sigaction的信号。查看sigaction的手册页以查找sigqueue的数据将存储在哪里。
以上是 移植OS-9信号处理程序 的全部内容, 来源链接: utcz.com/qa/265530.html