【发布时间】:2014-07-24 13:52:02
【问题描述】:
我有一个线程被互斥锁阻塞。该应用程序还具有自定义信号处理程序,使用sigaction 设置。如果接收到可捕获信号的线程在互斥体上被阻塞,是调用信号处理程序还是阻塞直到互斥体被释放?
【问题讨论】:
标签: c++ linux pthreads signals mutex
我有一个线程被互斥锁阻塞。该应用程序还具有自定义信号处理程序,使用sigaction 设置。如果接收到可捕获信号的线程在互斥体上被阻塞,是调用信号处理程序还是阻塞直到互斥体被释放?
【问题讨论】:
标签: c++ linux pthreads signals mutex
这很可能取决于实现,例如在pthread 中将执行信号处理程序,然后线程将在处理程序返回时等待互斥锁:
人 pthread_mutex_lock
如果一个信号被传递到一个等待互斥锁的线程,在返回时 从信号处理程序 线程将继续等待互斥体,就好像它没有被中断一样。
【讨论】: