シグナルハンドラを実装しようとしています。各 pthread は結合可能に作成され、sigprocmask を使用するすべてのシグナルでブロックされます。
この問題は、スレッドに別のスレッドからシグナルを送信するときに発生します。
pthread_kill(_threads[threadIndex], SIGHALT);
シグナルが送信された時点で、呼び出された pthread が pthread_join で待機している場合、プロセス全体が即時に終了します。ただし、スレッドが結合を待機していない場合は、期待どおりにシグナルを無視します。なぜそれが起こるのか、それを変更する方法はありますか?
ありがとうございました!