11

その背後にある理論的根拠は何ですか?I/O を行っているプロセスがシグナルの処理を許可されている場合、どのような悪影響がありますか?

4

2 に答える 2

2

Linux Developers Documentationによると、データの損失を防ぎ、ハードウェアが不整合な状態になるのを防ぐためです。

read()(ディスクなどから)が割り込み可能であり、シグナルハンドラーが他の役割の中でも特に読み取りバッファーを変更した場合に何が発生する可能性があるかを想像してみてください。信号は非同期であるため、読み取り結果は再現できません。書き込みが中断された場合、同様の混乱が発生します。

于 2013-01-27T00:28:22.130 に答える