RedHawk Linux User's Guide version 6.3 æ¥æ¬èªç
RedHawk Linux User's Guide version 6.3 æ¥æ¬èªç
RedHawk Linux User's Guide version 6.3 æ¥æ¬èªç
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>RedHawk</strong> <strong>Linux</strong> User’s <strong>Guide</strong>clock_nanosleepルーチンルーチンの 利 用 6概 要#include int clock_nanosleep(clockid_t which_clock, int flags, const struct timespec *rqtp,struct timespec *rmtp);引 数 は 以 下 のように 定 義 されます:which_clock使 用 するクロックの 識 別 子 。which_clock の 値 はCLOCK_REALTIMEまたはCLOCK_MONOTONICとなります。flags 以 下 のいずれかを 指 定 する 整 数 値 :TIMER_ABSTIMErqtp で 指 定 された 時 間 はwhich_clock で 指 定 されたクロック 値 に 関 する 絶 対 値 であると 解 釈 します。0 rqtp で 指 定 された 時 間 は 現 在 時 刻 の 相 対 値 であると 解 釈 します。rqtpプロセスをスリープする 時 間 の 長 さを 含 むtimespec 構 造造 体 へのポインタ。もしTIMER_ABSTIMEフラグが 指 定 され、rqtp で 指 定 された 時 間 が 指 定 したクロックの 現 在 時 刻 以 下 である(またはクロックの値 がその 時 間 へ 変 更 される) 場 合 、この 機 能 は 即 座 に 戻 ります。 更 にスリープする 時 間 はclock_nanosleep(2)を 呼 び 出 した 後 のクロックのどのような 変 更 にも 影 響 を 受 けます。つまり、 設 定 または 実 際 の 通過遃 時 間 またはこれらの 組 み 合 わせを 通 して、 現 在 の 時 間 が 要 求 した 時間 以 上 の 時 にクロックがその 時 間 に 遉 したかどうかを 問 わず 呼 び 出しが 完 了 します。指 定 された 時 間 値 がクロック 分 解 能 の 整 数 倍 へ 切 り 上 げられる、またはスケジューリングや 他 のシステムの 動 作 のためにスリープする 時間 は 要 求 よりも 長 くなる 可 能 性 があります。シグナルによる 割 り 込 みのケースを 除 いて、 一 時 停 止 時 間 は 決 して 要 求 よりも 小 さくはなりません。rmtpTIMER_ABSTIMEが 指 定 されていない 場 合 、rmtp で 示 されるtimespec 構 造造 体 は 間 隔 の 残 り 時 間 量 を 収 納 するために 更 新 されます(すなわち、 要 求 時 間 - 実 際 にスリープした 時 間 )。もしrmtp がNULLの 場 合 、 残 り 時 間 は 設 定 されません。rmtp の 値 は 絶 対 時 間 値 のケースでは 設 定 されません。成 功 した 場 合 、clock_nanosleepは 少 なくても 指 定 した 時 間 が 過遃 ぎた 後 に0の 値 を 返 します。 失敗 した 場 合 、clock_nanosleepは-1の 値 を 返 し、errnoはエラーを 示 すために 設 定 されます。 発生 する 可 能 性 があるエラーの 種 類 のリストについてはclock_nanosleep(2)のmanページを 参 照してください。6-12