0

我编写了两个通过使用 SIGIO 执行 IPC 的守护进程。但是,有时在完成重要操作时将控制权转移到 signal_handler,这些操作可以被视为原子操作。有没有办法让我指定在循环的当前迭代完成之前,我们不会将控制权转移到 signal_handler 函数

提前致谢

注意:我使用的是 Linux

4

1 回答 1

0

我不知道是否有更好的方法可以做到这一点,但我做了以下事情:

我在函数 sigio_handler 中将全局变量 sigio_rec 设置为 true,sigio_handler 是我在 sigaction() 中注册的函数,以便在引发 SIGIO 时调用。在每个循环结束时,程序检查 sigio_rec 是否为真,如果是,则从套接字检索数据并继续。

--ttfn

于 2013-03-22T14:51:06.537 回答