|
≫ |
|
|
|
HP OpenVMS HP C ランタイム・ライブラリ・リファレンス・マニュアル (下巻)
呼び出し元スレッドを中断し,シグナル通知が到着するのを待ちます。
形式
#include <signal.h>
int sigtimedwait (const sigset_t set, siginfo_t *info, const struct timespec *timeout);
引数
set待機するシグナルのセット。
info
siginfo構造体へのポインタ。この構造体には,シグナルをポストする際に指定されたアプリケーション定義データなど,シグナルを示すデータが格納されます。
timeout待機する際のタイムアウト時間。
timeout が NULL の場合,この引数は無視されます。
説明
sigtimedwait関数は,
sigwaitinfo関数と同じ動作を行います。ただし,set で指定されたシグナルが保留されていない場合,
sigtimedwaitは timeout が指す
timespec構造体で指定された時間だけ待機します。
timeout が指す
timespec構造体の値がゼロで, set で指定されたシグナルが保留されていない場合,
sigtimedwaitはすぐにエラーで戻ります。
sigwaitと
sigwaitinfoも参照してください。
シグナル処理についての詳細は,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 4.2 節を参照してください。
戻り値
x
|
成功して終了すると,選択されたシグナル番号が返されます。
|
-1
|
エラーの発生を示します。
errno
には,以下のいずれかの値が設定されます。
- EINVAL -- timeout 引数の
tv_nsec
値が, 0 より小さいか 10 億以上でした。
- EINTR -- 待機が,ブロックされていないシグナルのキャッチで割り込まれました。
- EAGAIN --
set で指定されたシグナルが,指定されたタイムアウト期間内に生成されませんでした。
|
|