1
由于信号是异步的,主程序可以是一个非常 脆弱状态当处理的信号并因此而信号 处理函数执行。因此,你应该避免从 信号处理在这种情况下,当他们说“脆弱的国家”时,它究竟意味着什么?
我想在这种情况下做了测试执行任何 I/O操作或调用最库和系统的功能,但我不知道如何将主程序进入脆弱状态
由于信号是异步的,主程序可以是一个非常 脆弱状态当处理的信号并因此而信号 处理函数执行。因此,你应该避免从 信号处理在这种情况下,当他们说“脆弱的国家”时,它究竟意味着什么?
我想在这种情况下做了测试执行任何 I/O操作或调用最库和系统的功能,但我不知道如何将主程序进入脆弱状态
我不认为“脆弱国家”是一个技术术语。我并不十分熟悉Linux的进程信号,但内核可能会在执行信号处理时禁用(或缺少)某些安全措施,例如全局对象的线程安全性或不期望其他副作用。
例如,您的报价特别提到IO操作。 IO操作通常是异步的,并在完成时引发中断,我期望内核不希望在处理信号时调用IO中断处理程序(我想会抢占信号中当前运行的代码处理程序),并且如果中断处理程序修改了信号处理程序正在使用的某些资源,尤其是在处理的信号是等待IO操作的进程时,可能会将系统置于未定义状态。