![]() |
![]() |
日本-日本語 | ![]() |
|
|
|
![]() |
![]() OpenVMS マニュアル |
|
![]() |
HP OpenVMS
|
目次 | 索引 |
![]() | sigwait (Integrity, Alpha) | ![]() |
呼び出し元スレッドを中断し,シグナル通知が到着するのを待ちます。
#include <signal.h>int sigwait (const sigset_t set, int *sig);
set
待機するシグナルのセット。sig
選択されたシグナルのシグナル番号を返します。
sigwait関数は, set 引数内のシグナルの少なくとも 1 つが,呼び出し元プロセスの保留シグナル・セットに含まれるようになるまで,呼び出し元スレッドを中断します。この状態が発生したら,いずれかのシグナルが自動的に選択され,保留シグナル・セットから削除されます。その後,シグナルを識別するシグナル番号が, sig が指すメモリ位置に返されます。sigwait関数が呼び出されたときに, set 引数内のシグナルにブロックされていないものがある場合の動作は,規定されていません。
set 引数は,セット操作関数 sigemptyset, sigfillset, sigaddset,および sigdelsetを使用して作成されます。
sigwait関数が待機している間に,配信可能な (つまり,シグナル・マスクでブロックされていない) シグナルが発生すると,そのシグナルは非同期に処理され,待機状態が中断されます。
sigtimedwaitと sigwaitinfoも参照してください。
シグナル処理についての詳細は,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 4.2 節を参照してください。
0 成功すると, sigwait は sig が指すメモリ位置に,受信したシグナルのシグナル番号を格納して,0 を返します。 0 以外 エラーの発生を示します。 errno に,次の値が設定されます。
- EINVAL -- set 引数が,不正なシグナル番号,またはサポートされていないシグナル番号を含んでいます。
目次 | 索引 |
![]() |
||||||||
|