other versions
other sections
ADJTIME(3) | Linux Programmer's Manual | ADJTIME(3) |
名前¶
adjtime - システムクロックに同期する時刻を調整する書式¶
int adjtime(const struct timeval *delta, struct timeval *olddelta);
glibc 向けの機能検査マクロの要件 ( feature_test_macros(7) 参照):
説明¶
adjtime() 関数は (gettimeofday(2) が返す) システムクロックを徐々に調整する。 調整すべきクロックの時間量は delta が指す構造体で指定される。 この構造体は以下の形である:struct timeval { time_t tv_sec; /* 秒 */ suseconds_t tv_usec; /* マイクロ秒 */ };
delta の調整量が正の場合、調整量に達するまでシステムクロックを 少し割合だけスピードアップさせる (つまり、毎秒クロック値に少しだけ 時刻を加算する)。 delta の調整量が負の場合、同様の方法でクロックを遅くする。
返り値¶
成功すると、 adjtime() は 0 を返す。失敗すると、-1 を返し、 errno にエラーを示す値をセットする。エラー¶
- EINVAL
- delta で指定された調整量が許可された範囲に入っていない。
- EPERM
- 呼び出し者が時刻を調整するのに必要な権限を持っていない。 Linux では CAP_SYS_TIME ケーパビリティが必要である。
準拠¶
4.3BSD, System V.注意¶
adjtime() が行うクロックの調整は、クロックは常に単調増加するという範囲内で 実行される。 adjtime() を使って時刻を調整することで、システムタイムの突然の正や負のジャンプ により、いくつかのアプリケーション (例えば make(1) など) に起こる問題を防ぐことができる。バグ¶
ずっと昔から、 delta に NULL を指定すると、未完了のクロック調整に関する有効な情報が olddelta に返されないというバグがあった (この場合、 adjtime() は、未完了のクロック調整に関する情報を、変更せずに返すべきである)。 このバグは、 glibc 2.8 以降で、Linux カーネル 2.6.26 以降のシステムで修正されている。関連項目¶
adjtimex(2), gettimeofday(2), time(7)この文書について¶
この man ページは Linux man-pages プロジェクトのリリース 3.41 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。2008-06-22 | Linux |