0

私は、PスレッドのCコードでいくつかの信号処理を実装することに取り組んでいます。私はRTS信号拡張を使用しています。シグナルをすべてのスレッドでまったく同じ方法で処理する場合は、プロセス全体でマスクを1回設定する必要がありますか、それとも各スレッドでpthread_sigmaskを呼び出す必要がありますか?

また、次のことを行う既存のコードがいくつかありました。

空のセットを取得し、SIGHUPシグナルを追加しました

SIG_BLOCKを使用してそのセットでpthread_sigmaskを呼び出しました

SIG_UNBLOCKを使用してpthread_sigmaskと呼ばれるセットにさらに4つのシグナルを追加しました

これは、5つの信号が追加されたセットの補数にマスクを設定する最後のpthread_sigmask呼び出しを除いて、まったく効果がありますか?

ありがとう

4

1 に答える 1

0

スレッド A のシグナル マスクは、スレッド A によって作成されたすべてのスレッドに継承されます。

于 2012-11-15T17:32:03.727 に答える