nanosleep(2) FreeBSD 一般コマンドマニュアル

nanosleep

前のページ 上に戻る 次のページ

nanosleep




書式

     #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]            nanosleep() はシグナルの配信によって割り込まれました。

     [EINVAL]           rqtp に 0 未満か、10 億ナノ秒以上の値を指定しました。

     [ENOSYS]           nanosleep() はこのシステムではサポートされていません。


関連項目

     sigsuspend(2), sleep(3)


規格

     nanosleep() 関数は IEEE Std 1003.1b-1993 (``POSIX.1'') に準拠しています。

FreeBSD 4.4                     April 17, 1997                     FreeBSD 4.4

ABELNET VPSサービス