2012-02-01 53 views

回答

1

我很确定这与Signal Handler方法是可重入的有关。假设发送了一个信号,并且您的处理程序抓取信号并开始处理。在处理过程中,另一个信号可能由并发程序发送,然后您的处理程序再次捕获该信号,并开始处理它。

根据调度的实施方式,信号处理程序在执行时可能会执行。问题是它使用了相同的指针和变量,所以它可能会破坏自己,特别是因为gettid()返回当前线程的ID。当前线程在这种情况下是什么?

相关问题