1
以下のようなシグナルを登録すると、登録されている別のシグナルハンドラが上書きされますか?最後のシグナルハンドラが優先されますか?もしそうなら、各信号に対して1より多くを許す方法があります。特定の信号用のシグナルハンドラの登録は、別の登録済み信号を上書きしますか?
signal(SIGABRT, SignalHandler);
以下のようなシグナルを登録すると、登録されている別のシグナルハンドラが上書きされますか?最後のシグナルハンドラが優先されますか?もしそうなら、各信号に対して1より多くを許す方法があります。特定の信号用のシグナルハンドラの登録は、別の登録済み信号を上書きしますか?
signal(SIGABRT, SignalHandler);
Nope;シグナルごとに1つのシグナルハンドラしか存在できません。
また、シグナルハンドラで何かをしようとすることは不可能です。システムコールを行うことはできません。本当にメモリを割り当てることはできず、Objective-Cは使用できません。
また、SIGABRTをキャッチしようとしても無駄です。送信されるまでに、あなたのアプリが雑草にうまく収まっていることを示します。そのような状態から回復しようとするのは脆弱である。
あなたは何をしようとしていますか?
送受信されるデータについてメモリに保存する状態があります。場合によっては、予期せぬバイトシーケンスを取得し、読み込みを中止することがあります。私たちは、クラッシュした後に状態を記録してクラッシュレポートに添付することができれば、問題を解決するのに役立つかもしれないと考えていました。 – tjg184
これはシグナルの最も合理的な使用についてですが、それでも脆弱性が蔓延しています。予期せぬバイトシーケンスを検出してログに記録するほうがはるかに優れています。より簡単で簡単です。 – bbum
そこに同意します。それはおそらく私たちがやる予定です。再度、感謝します! – tjg184