plucky (3) usleep.3.gz

Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all bug

名前

       usleep - マイクロ秒単位で実行を延期する

書式

       #include <unistd.h>

       int usleep(useconds_t usec);

   glibc 向けの機能検査マクロの要件 (feature_test_macros(7)  参照):

       usleep():
           glibc 2.12 以降:
               (_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200809L)
                   || /* Glibc 2.19 以降: */ _DEFAULT_SOURCE
                   || /* Glibc 2.19 以前: */ _BSD_SOURCE
           glibc 2.12 より前:
                _BSD_SOURCE || _XOPEN_SOURCE >= 500

説明

       usleep()   関数は (少なくとも) usecマイクロ秒の間、 呼び出し元スレッドの実行を延期する。 システムの動作状
       況や呼び出しによる時間の消費やシステムタイマーの粒度によって、 停止時間は設定した値よりも少し延ばされるか
       もしれない。

返り値

       usleep()  関数は成功すると 0 を返す。 エラーの場合、 -1 が返され、 errno にエラーの原因を示す値が設定され
       る。

エラー

       EINTR  シグナルによって中断された。 signal(7)  参照。

       EINVAL usec が 1000000 以上だった。 (これをエラーとみなすシステムのみ)

属性

       この節で使用されている用語の説明については、 attributes(7) を参照。

       ┌─────────────────┬───────────────┬─────────┐
       │インターフェース属性      │
       ├─────────────────┼───────────────┼─────────┤
       │ usleep()        │ Thread safety │ MT-Safe │
       └─────────────────┴───────────────┴─────────┘

準拠

       4.3BSD, POSIX.1-2001.  POSIX.1-2001  では、この関数は過去のものと宣言されている。  代わりに  nanosleep(2)
       を使うこと。 POSIX.1-2008 では、 usleep()  の規定が削除されている。

       もともとの  BSD  の実装や、バージョン  2.2.2  より前の  glibc では、 この関数の返り値の型は void である。
       POSIX 版は int を返し、このプロトタイプは glibc 2.2.2 以降で使用されている。

       エラーとして EINVAL を返すというのは SUSv2 と POSIX.1-2001 でのみ文書化されている。

注意

       useconds_t 型は [0,1000000] の範囲の整数を扱うことができる 符号なし整数型である。  明示的にこの型を使わな
       いことでプログラムの移植性がより高まる。 以下のように使うこと。

           #include <unistd.h>
           ...
               unsigned int usecs;
           ...
               usleep(usecs);

       この関数と、  SIGALRM  シグナルあるいは  alarm(2), sleep(3), nanosleep(2), setitimer(2), timer_create(2),
       timer_delete(2), timer_getoverrun(2), timer_gettime(2), timer_settime(2), ualarm(3)  といったその他のタイ
       マー関数を同時に使った場合の動作は未定義である。

関連項目

       alarm(2), getitimer(2), nanosleep(2), select(2), setitimer(2), sleep(3), ualarm(3), time(7)

この文書について

       この  man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告
       に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。

                                                   2017-09-15                                          USLEEP(3)