我已经声明了long long变量,并在main例程中更新和检查了该值。在信号处理程序中,我检查其值并更新其值。假设我使操作原子化,在主例程中更新时,我得到了信号处理程序,在信号处理程序中,如果该变量已经在更新过程中,那么信号处理程序没有更新状态。当控件再次返回时,我失去了信号处理程序例程功能。我怎样才能避免这个?
当做。
学习者
最佳答案
使用sigaction()代替signal()。
关于linux - Linux C信号处理程序中的可变原子操作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17651179/