我编写了两个使用SIGIO执行IPC的守护进程。然而,有时在完成重要动作时将控制转移到signal_handler,这些动作可被视为原子动作。有没有办法让我指定直到循环的当前迭代完成,我们不会将控制转移到signal_handler函数?
提前谢谢 D注意:我正在使用Linux
答案 0 :(得分:0)
我不知道是否有更好的方法可以做到这一点,但我做了以下事情:
我在函数sigio_handler中将全局变量sigio_rec设置为true,sigio_handler是我在使用sigaction()注册的函数,以便在引发SIGIO时调用。 在每个循环结束时,程序检查sigio_rec是否为真,如果是,则从套接字检索数据并继续。
- ttfn