在我的应用程序中,我有多个线程,其中一个线程负责捕获信号并处理它们。我的主要问题是因为操作系统随机选取一个进程中的一个线程并向其传递处理它的信号。因此,拾取的线程可能不是负责处理信号的线程。
我必须阻塞主线程中的信号,任何新线程都将继承主线程的掩码,因此它们无法处理信号,只有相应的线程会这样做。
所以任何人都可以在C中提供示例代码,如何做到这一点?
我已经编写了与保持线程休眠相关的部分并在收到信号后将其唤醒,您可以找到以下stackoverflow - Thread blocked waiting for a signal。