Man page - usleep(3)

Packages contains this manual

Available languages:

en fr es pl ja ru ro de

Manual

USLEEP

名 前
書 式
説 明
返 り 値
エ ラ ー
属 性
準 拠
注 意
関 連 項 目
こ の 文 書 に つ い て

名 前

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) を 参 照 。

Image grohtml-30004-1.png

準 拠

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/ に 書 か れ て い る 。