NANOSLEEP(2) FreeBSD システムコールマニュアル NANOSLEEP(2)
名称
nanosleep − ナノ秒単位の間隔でプロセス実行を中断する |
ライブラリ
標準 C ライブラリ (libc, −lc) |
書式
#include <time.h> int |
nanosleep(const struct timespec *rqtp, struct timespec *rmtp); |
解説 |
nanosleep() システムコールによってプロセスは指定の時間だけ休眠状態になり ます。シグナルによる割り込み時の SA_RESTART 値に無関係に、マスクされてい ないシグナルがあるとプロセスの休眠状態は早めに終了します。 |
戻り値
要求された時間が経過したために nanosleep() システムコールが戻った場合、返 される値は 0 になります。 シグナルが配信されたために nanosleep() システムコールから戻った場合に返さ れる値は -1 になり、割り込みを示すためにグローバル変数 errno が設定されま す。 rmtp が NULL でない場合、それが参照する timespec 構造体は非休眠時間 で更新されます (要求時間から、実際に休眠状態にあった時間を減算したもので す)。 |
エラー
nanosleep() システムコールは、次の場合に失敗します: |
[EFAULT]
rqtp または rmtp のどちらかが、プロセスに割り当てられ たアドレス空間の範囲外のメモリを指しています。 [EINTR] [EINVAL] [ENOSYS] 関連項目 |
規格
nanosleep() システムコールは IEEE Std 1003.1b-1993 (‘‘POSIX.1’’) に適合し ています。 FreeBSD 10.0 April 17, 1997 FreeBSD 10.0 |