如果一个线程正在等待一个互斥量,信号是否被捕获?

我有一个线程被阻塞在互斥体上。 该应用程序还具有使用sigaction设置的自定义信号处理程序。 如果接收到可捕获信号的线程在互斥体上被阻塞,信号处理程序是否会被调用,或者被阻塞,直到互斥体被释放?

最有可能它将取决于实现,在pthread例如信号处理程序将被执行,然后线程将等待处理程序返回时的互斥量:

人pthread_mutex_lock

如果一个信号被传递给一个等待互斥体的线程,那么当从信号处理程序返回时,线程将继续等待互斥体,就好像它没有被中断一样。