Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
一連の非同期フォークを使用して(ツールキットの下で)作業を行うものがあります。
コードの特定の領域でフォークし、子プロセスでブロッキング待機を行っています。
SIGCHLD ハンドラーは、ブロッキング待機がシグナルを検出する前にシグナルをむさぼり食うのでしょうか。
SIGCHLDハンドラーは、終了する子プロセスのエッジであるイベントで起動されます。のブロッキング呼び出しwaitpid()は、その特定の子プロセスの条件、レベルが存在しなくなるのを待ちます。
SIGCHLD
waitpid()
プロセスが終了すると、SIGCHLDが配信され、そのハンドラーは正常に実行されます。そのプロセスにブロッキングがあった場合waitpid()、シグナルハンドラーの存在に関係なく、通常どおりに戻ります。