別のプログラムを開始するために fork() と execvp() を使用するライブラリを作成しています。私が理解しているように、execvX() は「カスタム」シグナル ハンドラを SIG_DFL にリセットしますが、無視されたシグナル ハンドラを SIG_DFL に設定しません。
これはライブラリであり、ユーザーがシグナルで何をするかを制御できないことを念頭に置いてください。無視されたシグナルのシグナル ハンドラを SIG_DFL に設定することをお勧めしますか?
もしそうなら、すべてのシグナルハンドラを一度に SIG_DFL に設定する方法はありますか? 代わりに、すべてのシグナル番号を反復処理する必要がありますか? この場合、最後の可能なシグナル番号を見つけるにはどうすればよいでしょうか? bits/signum.h に _NSIG があることを確認しました。これは POSIX の一定の部分ですか、それとも Linux 固有ですか?
ありがとう。