信号が失われるというこの問題があります。つまり、シグナルが子プロセスによって生成され、親プロセスの他の子プロセスによって受信されるこのシステムがあります。sigwait と sigprocmask を使用して実際にブロックし、非同期ハンドラーを登録するのではなく、子プロセスを受信するシグナル内でシグナルを待機しました。
今、このシステムを実行すると。最初に、子プロセスから生成されたシグナルが受信側の子プロセスによってブロックされ、次に sigwait を使用してこれらの保留中のシグナルを実際に処理していることがわかります。したがって、シグナルは保留中であり、sigwait を使用して取得され、続行されます。
しかし、時間が経つにつれて、信号が以前ほど消費されていないことがわかりました。つまり、大量のシグナルが生成され、それらは受信プロセスによって処理されていません。保留中のシグナルが多数ある場合、シグナルが失われる可能性はありますか?