私はシグナルハンドラを実装しようとしています。 各pthreadは結合可能に作成され、sigprocmaskを使用してすべてのシグナルでブロックされます。"join"を待っているpthreadを通知するときにプロセスが終了しました
私が呼ばれるのpthreadは、信号が送信された時点でpthread_joinを上待っている場合、全体proccessがimmidiately終了し
pthread_kill(_threads[threadIndex], SIGHALT);
を使用して、スレッドに別のスレッドからの信号を送信するときに問題が発生します。ただし、スレッドが結合で待機していない場合、スレッドは期待どおりにシグナルを無視します。なぜそれが起こり、どのように変更するのでしょうか?
ありがとうございました!メソッドのmanページからこの抜粋を参照してください。mutithreaded環境でのsigprocmask()
の使用に関して
プロセスが終了したか、エラーコードを返す 'pthread_join'が実行され、プログラムの実行が終了しますか? – vhallac
'SIGHALT'について知っている人はいますか?それを見たことはありません。 'SIGSTOP'と同じですか? –
@Pavan Manjunath:恐らくSIGSTOPのドイツ語版ですか? ;-) – alk