我有一个线程被阻塞在互斥体上。 该应用程序还具有使用sigaction设置的自定义信号处理程序。 如果接收到可捕获信号的线程在互斥体上被阻塞,信号处理程序是否会被调用,或者被阻塞,直到互斥体被释放?
sigaction
最有可能它将取决于实现,在pthread例如信号处理程序将被执行,然后线程将等待处理程序返回时的互斥量:
pthread
人pthread_mutex_lock 如果一个信号被传递给一个等待互斥体的线程,那么当从信号处理程序返回时,线程将继续等待互斥体,就好像它没有被中断一样。
如果一个信号被传递给一个等待互斥体的线程,那么当从信号处理程序返回时,线程将继续等待互斥体,就好像它没有被中断一样。