OSDN Git Service

(split) LDP: Release pages for LDP v3.39.
[linuxjm/LDP_man-pages.git] / release / man2 / clock_nanosleep.2
index 75fecf0..03a08ab 100644 (file)
 .\" Formatted or processed versions of this manual, if unaccompanied by
 .\" the source, must acknowledge the copyright and authors of this work.
 .\"
-.\" Japanese Version Copyright (c) 2008  Akihiro MOTOKI
-.\"         all rights reserved.
-.\" Translated 2008-08-21, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.04
-.\" 
-.TH CLOCK_NANOSLEEP 2 2010-09-10 "Linux" "Linux Programmer's Manual"
-.SH Ì¾Á°
-clock_nanosleep \- »ØÄꤷ¤¿¥¯¥í¥Ã¥¯¤Ç¤Î¹âÀºÅ٤ʼ¹ÔÄä»ß (sleep)
-.SH ½ñ¼°
-.B #include <time.h>
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH CLOCK_NANOSLEEP 2 2010\-12\-03 Linux "Linux Programmer's Manual"
+.SH 名前
+clock_nanosleep \- 指定したクロックでの高精度な実行停止 (sleep)
+.SH 書式
+\fB#include <time.h>\fP
 .nf
 .sp
-.BI "int clock_nanosleep(clockid_t " clock_id ", int " flags ,
-.BI "                    const struct timespec *" request ,
-.BI "                    struct timespec *" remain );
+\fBint clock_nanosleep(clockid_t \fP\fIclock_id\fP\fB, int \fP\fIflags\fP\fB,\fP
+\fB                    const struct timespec *\fP\fIrequest\fP\fB,\fP
+\fB                    struct timespec *\fP\fIremain\fP\fB);\fP
 .fi
 .sp
-\fI\-lrt\fP ¤Ç¥ê¥ó¥¯¤¹¤ë¡£
+\fI\-lrt\fP でリンクする。
 .sp
 .ad l
 .in -4n
-glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï
-.RB ( feature_test_macros (7)
-»²¾È):
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
 .in
 .sp
-.BR clock_nanosleep ():
+\fBclock_nanosleep\fP():
 .RS 4
 _XOPEN_SOURCE\ >=\ 600 || _POSIX_C_SOURCE\ >=\ 200112L
 .RE
 .ad
-.SH ÀâÌÀ
-.BR clock_nanosleep ()
-¤ò»È¤¦¤È¡¢
-.BR nanosleep (2)
-ƱÍÍ¡¢¥Ê¥ÎÉäÎÀºÅ٤ǻØÄꤵ¤ì¤¿´ü´Ö¤À¤±¸Æ¤Ó½Ð¤·¤¿¥¹¥ì¥Ã¥É¤Î¼Â¹Ô¤ò
-Ää»ß¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
-.BR nanosleep (2)
-¤È°ã¤¦¤Î¤Ï¡¢¸Æ¤Ó½Ð¤·Â¦¤¬Ää»ß´ü´Ö¤ò¤É¤Î¥¯¥í¥Ã¥¯¤ËÂФ·¤Æ·×¬¤¹¤ë¤Î¤«¤òÁªÂò
-¤Ç¤­¤ëÅÀ¤È¡¢Ää»ß´ü´Ö¤òÀäÂÐÃͤǤâÁêÂÐÃͤǤâ»ØÄê¤Ç¤­¤ëÅÀ¤Ç¤¢¤ë¡£
+.SH 説明
+\fBclock_nanosleep\fP()  を使うと、 \fBnanosleep\fP(2)
+同様、ナノ秒の精度で指定された期間だけ呼び出したスレッドの実行を 停止することができる。 \fBnanosleep\fP(2)
+と違うのは、呼び出し側が停止期間をどのクロックに対して計測するのかを選択 できる点と、停止期間を絶対値でも相対値でも指定できる点である。
 
-¤³¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤ËÅϤ·¤¿¤ê¡¢¤³¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤¬ÊÖ¤·¤¿¤ê¤¹¤ë»þ´Ö¤ÎÃͤÏ
-.I timespec
-¹½Â¤ÂΤò»È¤Ã¤Æ»ØÄꤵ¤ì¤ë¡£¤³¤Î¹½Â¤ÂΤÎÄêµÁ¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¢¤ë¡£
+このシステムコールに渡したり、このシステムコールが返したりする時間の値は \fItimespec\fP
+構造体を使って指定される。この構造体の定義は以下の通りである。
 .sp
 .in +4n
 .nf
@@ -74,174 +67,82 @@ struct timespec {
 .fi
 .in
 
-.I clock_id
-°ú¤­¿ô¤Ç¡¢Ää»ß´ü´Ö¤ò¤É¤Î¥¯¥í¥Ã¥¯¤ËÂФ·¤Æ·×¬¤¹¤ë¤«¤ò»ØÄꤹ¤ë¡£
-¤³¤Î°ú¤­¿ô¤Ë¤Ï°Ê²¼¤ÎÃͤΤ¤¤º¤ì¤«°ì¤Ä¤ò»ØÄê¤Ç¤­¤ë¡£
-.TP 17
-.BR CLOCK_REALTIME
-¥·¥¹¥Æ¥àÁ´ÂΤǻȤï¤ì¤ë¼Â»þ´Ö¥¯¥í¥Ã¥¯¡£
-¤³¤Î¥¯¥í¥Ã¥¯¤ÏÊѹ¹²Äǽ¤Ç¤¢¤ë¡£
-.TP
-.BR CLOCK_MONOTONIC
-²áµî¤Î¤¢¤ë»þÅÀ¤«¤é¤Î»þ´Ö¤ò·×¬¤¹¤ë¡¢Ã±Ä´Áý²Ã¤Î¥¯¥í¥Ã¥¯¡£
-µ¯ÅÀ¤È¤Ê¤ë»þÅÀ¤Ï¥·¥¹¥Æ¥àµ¯Æ°¸å¤Ë¤ÏÊѹ¹¤µ¤ì¤Ê¤¤¡£
-¤³¤Î¥¯¥í¥Ã¥¯¤ÏÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡£
-.\" Linux ¤Ç¤Ï¡¢¤³¤Î¥¯¥í¥Ã¥¯¤Ïµ¯Æ°¤«¤é¤Î»þ´Ö¤ò·×¬¤¹¤ë¡£
-.TP
-.BR CLOCK_PROCESS_CPUTIME_ID
-¤½¤Î¥×¥í¥»¥¹¤ÎÁ´¥¹¥ì¥Ã¥É¤Ç¾ÃÈñ¤µ¤ì¤ë CPU »þ´Ö¤ò·×¬¤¹¤ë¥×¥í¥»¥¹Ã±°Ì¤Î
-¥¯¥í¥Ã¥¯¡£¤³¤Î¥¯¥í¥Ã¥¯¤ÏÀßÄê²Äǽ¤Ç¤¢¤ë¡£
+\fIclock_id\fP 引き数で、停止期間をどのクロックに対して計測するかを指定する。 この引き数には以下の値のいずれか一つを指定できる。
+.TP  17
+\fBCLOCK_REALTIME\fP
+システム全体で使われる実時間クロック。 このクロックは変更可能である。
+.TP 
+\fBCLOCK_MONOTONIC\fP
+.\" On Linux this clock measures time since boot.
+過去のある時点からの時間を計測する、単調増加のクロック。 起点となる時点はシステム起動後には変更されない。 このクロックは変更することができない。
+.TP 
+\fBCLOCK_PROCESS_CPUTIME_ID\fP
 .\" There is some trickery between glibc and the kernel
 .\" to deal with the CLOCK_PROCESS_CPUTIME_ID case.
+そのプロセスの全スレッドで消費される CPU 時間を計測するプロセス単位の クロック。このクロックは設定可能である。
 .PP
-¤³¤ì¤é¤Î¥¯¥í¥Ã¥¯¤Î¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï
-.BR clock_getres (2)
-¤ò»²¾È¡£
+これらのクロックの詳細については \fBclock_getres\fP(2)  を参照。
 
-.I flags
-¤¬ 0 ¤Î¾ì¹ç¡¢
-.I request
-¤Ë»ØÄꤵ¤ì¤¿ÃͤÏ
-.I clock_id
-¤Ç»ØÄꤵ¤ì¤¿¥¯¥í¥Ã¥¯¤Î¸½ºß¤ÎÃͤ«¤é¤ÎÁêÂÐŪ¤Ê´ü´Ö¤È²ò¼á¤µ¤ì¤ë¡£
+\fIflags\fP が 0 の場合、 \fIrequest\fP に指定された値は \fIclock_id\fP
+で指定されたクロックの現在の値からの相対的な期間と解釈される。
 
-.I flags
-¤¬
-.B TIMER_ABSTIME
-¤Î¾ì¹ç¡¢
-.I request
-¤Ï»ØÄꤵ¤ì¤¿¥¯¥í¥Ã¥¯¤Ç·×¬¤µ¤ì¤ëÀäÂлþ¹ï¤È²ò¼á¤µ¤ì¤ë¡£
-.I request
-¤¬»ØÄꤵ¤ì¤¿¥¯¥í¥Ã¥¯¤Î¸½ºß¤ÎÃͰʲ¼¤Î¾ì¹ç¡¢
-.BR clock_nanosleep ()
-¤Ï¡¢¸Æ¤Ó½Ð¤·¤¿¥¹¥ì¥Ã¥É¤ÎÄä»ß¤ò¹Ô¤ï¤º¡¢¤¹¤°¤ËÊ֤롣
+\fIflags\fP が \fBTIMER_ABSTIME\fP の場合、 \fIrequest\fP は指定されたクロックで計測される絶対時刻と解釈される。
+\fIrequest\fP が指定されたクロックの現在の値以下の場合、 \fBclock_nanosleep\fP()
+は、呼び出したスレッドの停止を行わず、すぐに返る。
 
-.BR clock_nanosleep ()
-¤Ï¡¢¾¯¤Ê¤¯¤È¤â
-.I request
-¤Ç»ØÄꤵ¤ì¤¿»þ´Ö¤¬·Ð²á¤¹¤ë¤Þ¤Ç¡¢¸Æ¤Ó½Ð¤·¤¿¥¹¥ì¥Ã¥É¤Î¼Â¹Ô¤òÄä»ß¤¹¤ë¡£
-¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤¬¸Æ¤Ó½Ð¤µ¤ì¤¿¤ê¡¢¤½¤Î¥×¥í¥»¥¹¤ò½ªÎ»¤µ¤»¤ë¤è¤¦¤Ê
-¥·¥°¥Ê¥ë¤¬ÇÛÁ÷¤µ¤ì¤¿¤ê¤·¤¿¾ì¹ç¤Ë¤â¡¢¥¹¥ì¥Ã¥É¤Î¼Â¹ÔÄä»ß¤Ï½ªÎ»¤¹¤ë¡£
+\fBclock_nanosleep\fP()  は、少なくとも \fIrequest\fP で指定された時間が経過するまで、呼び出したスレッドの実行を停止する。
+シグナルハンドラが呼び出されたり、そのプロセスを終了させるような シグナルが配送されたりした場合にも、スレッドの実行停止は終了する。
 
-¸Æ¤Ó½Ð¤·¤¬¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤Ë¤è¤Ã¤Æ³ä¤ê¹þ¤Þ¤ì¤¿¾ì¹ç¡¢
-.BR clock_nanosleep ()
-¤Ï¥¨¥é¡¼
-.B EINTR
-¤Ç¼ºÇÔ¤¹¤ë¡£¤µ¤é¤Ë¡¢
-.I remain
-¤¬ NULL ¤Ç¤Ê¤¯¡¢¤«¤Ä
-.I flags
-¤¬
-.B TIMER_ABSTIME
-¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢
-.I remain
-¤Ë»Ä¤ê¤ÎÄä»ß»þ´Ö¤¬ÊÖ¤µ¤ì¤ë¡£
-¤³¤ÎÃͤò»È¤Ã¤Æ
-.BR clock_nanosleep ()
-¤òºÆÅٸƤӽФ¹¤³¤È¤Ç¡¢(ÁêÂÐŪ¤Ê´ü´Ö¤Î) Ää»ß¤ò´°Î»¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
-.SH ÊÖ¤êÃÍ
-Í׵ᤵ¤ì¤¿´ü´Ö¤ÎÄä»ß¤ËÀ®¸ù¤¹¤ë¤È¡¢
-.BR clock_nanosleep ()
-¤Ï 0 ¤òÊÖ¤¹¡£
-¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤Ç³ä¤ê¹þ¤Þ¤ì¤¿¤ê¡¢¥¨¥é¡¼¤¬È¯À¸¤·¤¿¤ê¤·¤¿¾ì¹ç¡¢
-¡Ö¥¨¥é¡¼¡×¤ÎÀá¤Î¥ê¥¹¥È¤Ë¤¢¤ëÀµ¤Î¥¨¥é¡¼ÈÖ¹æ¤Î¤¤¤º¤ì¤«°ì¤Ä¤òÊÖ¤¹¡£
-.SH ¥¨¥é¡¼
-.TP
-.B EFAULT
-.I request
-¤ä
-.I remain
-¤Ë̵¸ú¤Ê¥¢¥É¥ì¥¹¤¬»ØÄꤵ¤ì¤¿¡£
-.TP
-.B EINTR
-Ää»ß¤¬¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤Ë¤è¤ê³ä¤ê¹þ¤Þ¤ì¤¿¡£
-.TP
-.B EINVAL
-.I tv_nsec
-¥Õ¥£¡¼¥ë¥É¤ÎÃͤ¬ 0 ¤«¤é 999999999 ¤ÎÈϰϤǤʤ¤¤«¡¢
-.I tv_sec
-¤ÎÃͤ¬Éé¤Ç¤¢¤Ã¤¿¡£
-.TP
-.B EINVAL
-.I clock_id
-¤¬Ìµ¸ú¤Ç¤¢¤Ã¤¿
-.RB ( CLOCK_THREAD_CPUTIME_ID
-¤¬
-.I clock_id
-¤È¤·¤ÆÍ­¸ú¤ÊÃͤǤϤʤ¤)¡£
-.SH ¥Ð¡¼¥¸¥ç¥ó
-.BR clock_nanosleep ()
-¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï Linux 2.6 ¤Ç½é¤á¤ÆÅо줷¤¿¡£
-glibc ¤Ç¤Ï¥Ð¡¼¥¸¥ç¥ó 2.1 °Ê¹ß¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¡£
-.SH ½àµò
-POSIX.1-2001.
-.SH Ãí°Õ
-.I request
-¤Ç»ØÄꤵ¤ì¤¿Ää»ß´ü´Ö¤¬¡¢»þ´Ö¤Î·×¬¤Ë»ÈÍѤµ¤ì¤ë¥¯¥í¥Ã¥¯
-.RB ( time (7)
-»²¾È) ¤ÎÀºÅÙ¤ÎÇÜ¿ô¤Á¤ç¤¦¤É¤Ç¤Ê¤¤¾ì¹ç¡¢Ää»ß´ü´Ö¤Ï°ìÈֶᤤ¼¡¤ÎÇÜ¿ô¤Ë
-ÀÚ¤ê¾å¤²¤é¤ì¤ë¡£¤µ¤é¤Ë¡¢Ää»ß¤¬´°Î»¤·¤¿¸å¤Ë¡¢CPU ¤¬¸Æ¤Ó½Ð¤·¤¿¥¹¥ì¥Ã¥É¤ò
-¤â¤¦°ìÅټ¹ԤǤ­¤ë¤è¤¦¤Ë¤Ê¤ë¤Þ¤Ç¤Ë¤Ï¡¢Ãٱ䤬Æþ¤ë²ÄǽÀ­¤¬¤¢¤ë¡£
+呼び出しがシグナルハンドラによって割り込まれた場合、 \fBclock_nanosleep\fP()  はエラー \fBEINTR\fP で失敗する。さらに、
+\fIremain\fP が NULL でなく、かつ \fIflags\fP が \fBTIMER_ABSTIME\fP でない場合には、 \fIremain\fP
+に残りの停止時間が返される。 この値を使って \fBclock_nanosleep\fP()  を再度呼び出すことで、(相対的な期間の)
+停止を完了することができる。
+.SH 返り値
+要求された期間の停止に成功すると、 \fBclock_nanosleep\fP()  は 0 を返す。
+シグナルハンドラで割り込まれたり、エラーが発生したりした場合、 「エラー」の節のリストにある正のエラー番号のいずれか一つを返す。
+.SH エラー
+.TP 
+\fBEFAULT\fP
+\fIrequest\fP や \fIremain\fP に無効なアドレスが指定された。
+.TP 
+\fBEINTR\fP
+停止がシグナルハンドラにより割り込まれた。
+.TP 
+\fBEINVAL\fP
+\fItv_nsec\fP フィールドの値が 0 から 999999999 の範囲でないか、 \fItv_sec\fP の値が負であった。
+.TP 
+\fBEINVAL\fP
+\fIclock_id\fP が無効であった (\fBCLOCK_THREAD_CPUTIME_ID\fP が \fIclock_id\fP として有効な値ではない)。
+.SH バージョン
+\fBclock_nanosleep\fP()  システムコールは Linux 2.6 で初めて登場した。 glibc ではバージョン 2.1
+以降でサポートされている。
+.SH 準拠
+POSIX.1\-2001.
+.SH 注意
+\fIrequest\fP で指定された停止期間が、時間の計測に使用されるクロック (\fBtime\fP(7)  参照)
+の精度の倍数ちょうどでない場合、停止期間は一番近い次の倍数に 切り上げられる。さらに、停止が完了した後に、CPU が呼び出したスレッドを
+もう一度実行できるようになるまでには、遅延が入る可能性がある。
 
-ÀäÂÐÃÍ»ØÄê¤Î¥¿¥¤¥Þ¤ò»È¤¦¤Î¤Ï¡¢
-.BR nanosleep (2)
-¤Ë½ñ¤«¤ì¤Æ¤¤¤ëÎà¤Î¥¿¥¤¥Þ¤Î¤º¤ì¤ÎÌäÂê¤òËɻߤ¹¤ë¤Î¤ËÌòΩ¤Ä
-(¤³¤Î¼ï¤ÎÌäÂê¤Ï¡¢¥·¥°¥Ê¥ë¤Ë³ä¤ê¹þ¤Þ¤ì¤¿ºÝ¤ËÁêÂлØÄê¤ÎÄä»ß¤ò
-·«¤êÊÖ¤·ºÆ³«¤·¤è¤¦¤È¤¹¤ë¥×¥í¥°¥é¥à¤Ç¤Ï¡¢¤«¤¨¤Ã¤Æ°­²½¤¹¤ë)¡£
-¤³¤ì¤é¤ÎÌäÂê¤ò²óÈò¤·¤ÆÁêÂлØÄê¤ÎÄä»ß¤ò¼Â¹Ô¤¹¤ë¤Ë¤Ï¡¢
-´õ˾¤¹¤ë¥¯¥í¥Ã¥¯¤Ç
-.BR clock_gettime (2)
-¤ò¸Æ¤Ó½Ð¤·¡¢¤½¤ÎÊÖ¤êÃͤλþ¹ïÃͤ˴õ˾¤¹¤ë´ü´Ö¤ò²Ã»»¤·¤Æ¤«¤é¡¢
-.B TIMER_ABSTIME
-¥Õ¥é¥°¤ò»ØÄꤷ¤Æ
-.BR clock_nanosleep ()
-¤ò¸Æ¤Ó½Ð¤¹¡£
+絶対値指定のタイマを使うのは、 \fBnanosleep\fP(2)  に書かれている類のタイマのずれの問題を防止するのに役立つ
+(この種の問題は、シグナルに割り込まれた際に相対指定の停止を 繰り返し再開しようとするプログラムでは、かえって悪化する)。
+これらの問題を回避して相対指定の停止を実行するには、 希望するクロックで \fBclock_gettime\fP(2)
+を呼び出し、その返り値の時刻値に希望する期間を加算してから、 \fBTIMER_ABSTIME\fP フラグを指定して
+\fBclock_nanosleep\fP()  を呼び出す。
 
-.BR sigaction (2)
-¤Ç
-.BR SA_RESTART
-¥Õ¥é¥°¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¤«¤Ë´Ø¤ï¤é¤º¡¢
-¥·¥°¥Ê¥ë¥Ï¥ó¥É¥é¤Ë¤è¤ê³ä¤ê¹þ¤Þ¤ì¤¿¸å¤Ë
-.BR clock_nanosleep ()
-¤¬ºÆ³«¤µ¤ì¤ë¤³¤È¤Ï·è¤·¤Æ¤Ê¤¤¡£
+\fBsigaction\fP(2)  で \fBSA_RESTART\fP フラグが指定されているかに関わらず、 シグナルハンドラにより割り込まれた後に
+\fBclock_nanosleep\fP()  が再開されることは決してない。
 
-.I flags
-¤¬
-.B TIMER_ABSTIME
-¤Î¾ì¹ç¡¢
-.I remain
-°ú¤­¿ô¤Ï»ÈÍѤµ¤ì¤º¡¢ÉÔÍפǤ¢¤ë
-(ÀäÂÐÃͤǤÎÄä»ß¤Ç¤Ï¡¢Æ±¤¸
-.I request
-°ú¤­¿ô¤ò»È¤Ã¤ÆºÆÅٸƤӽФ¹¤³¤È¤¬¤Ç¤­¤ë)¡£
+\fIflags\fP が \fBTIMER_ABSTIME\fP の場合、 \fIremain\fP 引き数は使用されず、不要である (絶対値での停止では、同じ
+\fIrequest\fP 引き数を使って再度呼び出すことができる)。
 
-POSIX.1 ¤Îµ¬Äê¤Ç¤Ï¡¢
-.BR clock_nanosleep ()
-¤Ï¥·¥°¥Ê¥ë¤Î½èÍýÊýË¡¤ä¥·¥°¥Ê¥ë¥Þ¥¹¥¯¤Ë±Æ¶Á¤òÍ¿¤¨¤Ê¤¤¡¢¤È¤µ¤ì¤Æ¤¤¤ë¡£
+POSIX.1 の規定では、 \fBclock_nanosleep\fP()  はシグナルの処理方法やシグナルマスクに影響を与えない、とされている。
 
-POSIX.1 ¤Îµ¬Äê¤Ç¤Ï¡¢
-.BR clock_settime (2)
-¤Ç
-.B CLOCK_REALTIME
-¥¯¥í¥Ã¥¯¤ÎÃͤòÊѹ¹¤·¤¿¸å¤Ï¡¢ÀäÂÐÃÍ»ØÄê¤Î
-.BR clock_nanosleep ()
-¤ÇÄä»ß¤·¤Æ¤¤¤ë¥¹¥ì¥Ã¥É¤òµ¯Æ°¤µ¤»¤ë»þ¹ï¤ÎȽÄê¤Ï¡¢
-¿·¤·¤¤¥¯¥í¥Ã¥¯Ãͤò»È¤Ã¤Æ¹Ô¤ï¤ì¤ë¡¢¤È¤µ¤ì¤Æ¤¤¤ë¡£
-¿·¤·¤¤¥¯¥í¥Ã¥¯Ãͤˤª¤¤¤ÆÄä»ß´ü´Ö¤Î½ªÎ»»þ¹ï¤¬²áµî¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢
-.BR clock_nanosleep ()
-¤Ï¤¹¤°¤ËÊ֤뤳¤È¤Ë¤Ê¤ë¡£
+POSIX.1 の規定では、 \fBclock_settime\fP(2)  で \fBCLOCK_REALTIME\fP クロックの値を変更した後は、絶対値指定の
+\fBclock_nanosleep\fP()  で停止しているスレッドを起動させる時刻の判定は、 新しいクロック値を使って行われる、とされている。
+新しいクロック値において停止期間の終了時刻が過去になってしまった場合には、 \fBclock_nanosleep\fP()  はすぐに返ることになる。
 
-POSIX.1 ¤Îµ¬Äê¤Ç¤Ï¡¢
-.BR clock_settime (2)
-¤Ç
-.B CLOCK_REALTIME
-¥¯¥í¥Ã¥¯¤ÎÃͤòÊѹ¹¤·¤Æ¤â¡¢ÁêÂÐÃÍ»ØÄê¤Î
-.BR clock_nanosleep ()
-¤ÇÄä»ß¤·¤Æ¤¤¤ë¥¹¥ì¥Ã¥É¤Ë¤Ï±Æ¶Á¤òÍ¿¤¨¤Ê¤¤¡¢¤È¤µ¤ì¤Æ¤¤¤ë¡£
-.SH ´ØÏ¢¹àÌÜ
-.BR clock_getres (2),
-.BR nanosleep (2),
-.BR timer_create (2),
-.BR sleep (3),
-.BR usleep (3),
-.BR time (7)
+POSIX.1 の規定では、 \fBclock_settime\fP(2)  で \fBCLOCK_REALTIME\fP クロックの値を変更しても、相対値指定の
+\fBclock_nanosleep\fP()  で停止しているスレッドには影響を与えない、とされている。
+.SH 関連項目
+\fBclock_getres\fP(2), \fBnanosleep\fP(2), \fBtimer_create\fP(2), \fBsleep\fP(3),
+\fBusleep\fP(3), \fBtime\fP(7)