【问题标题】:When should I set the signal mask of a threaded program in C?何时应该在 C 中设置线程程序的信号掩码?
【发布时间】:2012-11-04 08:21:30
【问题描述】:

我正在努力在我的 P 线程 C 代码中实现一些信号处理。我正在使用 RTS 信号扩展。如果我希望在所有线程中以完全相同的方式处理信号,我是否需要为整个过程设置一次掩码,还是我仍然需要在每个线程中调用 pthread_sigmask?

此外,还有一些现有代码执行以下操作:

得到一个空集,并添加 SIGHUP 信号

在带有 SIG_BLOCK 的集合上调用 pthread_sigmask

在集合中增加了 4 个信号 使用 SIG_UNBLOCK 调用 pthread_sigmask

除了最后一个 pthread_sigmask 调用之外,这是否有任何影响,它将掩码设置为添加了 5 个信号的集合的补集?

谢谢

【问题讨论】:

    标签: c pthreads signals


    【解决方案1】:

    线程A的信号掩码被线程A创建的任何线程继承。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多