1
有人能告诉我什么可能是来自Signal Handler的调用系统调用(SYS_gettid)的不利影响? 我知道它不在安全函数列表中被从信号处理程序调用,但我想知道它背后的原因?如果我从信号处理程序调用系统调用(SYS_gettid)会产生什么影响?
有人能告诉我什么可能是来自Signal Handler的调用系统调用(SYS_gettid)的不利影响? 我知道它不在安全函数列表中被从信号处理程序调用,但我想知道它背后的原因?如果我从信号处理程序调用系统调用(SYS_gettid)会产生什么影响?
我很确定这与Signal Handler方法是可重入的有关。假设发送了一个信号,并且您的处理程序抓取信号并开始处理。在处理过程中,另一个信号可能由并发程序发送,然后您的处理程序再次捕获该信号,并开始处理它。
根据调度的实施方式,信号处理程序在执行时可能会执行。问题是它使用了相同的指针和变量,所以它可能会破坏自己,特别是因为gettid()返回当前线程的ID。当前线程在这种情况下是什么?