sigwait関数は, set 引数内のシグナルの少なくとも 1 つが,呼び出し元プロセスの保留シグナル・セットに含まれるようになるまで,呼び出し元スレッドを中断します。この状態が発生したら,いずれかのシグナルが自動的に選択され,保留シグナル・セットから削除されます。その後,シグナルを識別するシグナル番号が,
sig が指すメモリ位置に返されます。
sigwait関数が呼び出されたときに, set 引数内のシグナルにブロックされていないものがある場合の動作は,規定されていません。
set 引数は,セット操作関数
sigemptyset,
sigfillset,
sigaddset,および
sigdelsetを使用して作成されます。
sigwait関数が待機している間に,配信可能な (つまり,シグナル・マスクでブロックされていない) シグナルが発生すると,そのシグナルは非同期に処理され,待機状態が中断されます。
sigtimedwaitと
sigwaitinfoも参照してください。
シグナル処理についての詳細は,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 4.2 節を参照してください。