私は、POSIXスレッドとPOSIXシグナルがどのように相互作用するかについての複雑さを理解しようとしてきました。特に、私は興味があります:
- シグナルが配信されるスレッドを制御するための最良の方法は何ですか(そもそも致命的ではないと仮定して)?
- シグナルが到着したことを別のスレッド(実際にはビジーである可能性があります)に伝える最良の方法は何ですか?(シグナルハンドラーからpthread条件変数を使用するのは悪い考えであることはすでに知っています。)
- シグナルが発生したという情報を他のスレッドに渡すことを安全に処理するにはどうすればよいですか?これはシグナルハンドラーで発生する必要がありますか?(私は一般的に他のスレッドを殺したくありません;私ははるかに微妙なアプローチが必要です。)
これが必要な理由については、TclXパッケージを変換してスレッドをサポートする方法、または分割して少なくともいくつかの便利なパーツでスレッドをサポートする方法を研究しています。信号は、特に興味深い部分の1つです。