adjtime(3) - wariua/manpages-ko GitHub Wiki

NAME

adjtime - μ‹œμŠ€ν…œ 클럭 동기화λ₯Ό μœ„ν•΄ μ‹œκ°„μ„ μ •μ •ν•˜κΈ°

SYNOPSIS

#include <sys/time.h>

int adjtime(const struct timeval *delta, struct timeval *olddelta);

glibc κΈ°λŠ₯ 확인 맀크둜 μš”κ±΄ (feature_test_macros(7) μ°Έκ³ ):

adjtime():
glibc 2.19λΆ€ν„°:
_DEFAULT_SOURCE
glibc 2.19 및 이전:
_BSD_SOURCE

DESCRIPTION

adjtime() ν•¨μˆ˜λŠ” (gettimeofday(2)κ°€ λ°˜ν™˜ν•˜λŠ”) μ‹œμŠ€ν…œ ν΄λŸ­μ„ μ„œμ„œνžˆ μ‘°μ •ν•œλ‹€. 클럭 μ‹œκ°„μ„ μ‘°μ •ν•  양을 deltaκ°€ κ°€λ¦¬ν‚€λŠ” ꡬ쑰체둜 μ§€μ •ν•œλ‹€. κ·Έ κ΅¬μ‘°μ²΄λŠ” λ‹€μŒ ν˜•νƒœμ΄λ‹€.

struct timeval {
    time_t      tv_sec;     /* 초 */
    suseconds_t tv_usec;    /* 마이크둜초 */
};

delta의 μ‘°μ •μΉ˜κ°€ μ–‘μˆ˜μ΄λ©΄ 쑰정이 μ™„λ£Œλ  λ•ŒκΉŒμ§€ μ‹œμŠ€ν…œ 클럭 속도λ₯Ό μ–΄λ–€ μž‘μ€ λΉ„μœ¨λ§ŒνΌ μ˜¬λ¦°λ‹€. (즉 λ§€μ΄ˆλ§ˆλ‹€ 클럭 값에 μž‘μ€ μ–‘μ˜ μ‹œκ°„μ„ λ”ν•œλ‹€.) delta의 μ‘°μ •μΉ˜κ°€ 음수이면 λΉ„μŠ·ν•œ λ°©μ‹μœΌλ‘œ 클럭 속도λ₯Ό λ‚΄λ¦°λ‹€.

μ•žμ„  adjtime() 호좜의 클럭 쑰정이 이미 μ§„ν–‰ 쀑인 μƒνƒœμ—μ„œ adjtime() 호좜이 μ΄λ€„μ§€λ©΄μ„œ λ’€μͺ½ 호좜의 deltaκ°€ NULL이 μ•„λ‹Œ κ²½μš°μ—λŠ” μ•žμ„  쑰정이 μ€‘λ‹¨λœλ‹€. ν•˜μ§€λ§Œ κ·Έ μ‘°μ • 쀑 이미 μ™„λ£Œλœ 뢀뢄을 λ˜λŒλ¦¬μ§€λŠ” μ•ŠλŠ”λ‹€.

olddeltaκ°€ NULL이 μ•„λ‹ˆλ©΄ κ°€λ¦¬ν‚€λŠ” 버퍼λ₯Ό μ΄μš©ν•΄ μ•žμ„  μ‘°μ •μ—μ„œ 아직 μ™„λ£Œλ˜μ§€ μ•Šκ³  남은 μ‹œκ°„ 양을 λ°˜ν™˜ν•œλ‹€.

RETURN VALUE

성곡 μ‹œ adjtime()은 0을 λ°˜ν™˜ν•œλ‹€. μ‹€νŒ¨ μ‹œ -1을 λ°˜ν™˜ν•˜λ©° 였λ₯˜λ₯Ό λ‚˜νƒ€λ‚΄λ„λ‘ errnoλ₯Ό μ„€μ •ν•œλ‹€.

ERRORS

EINVAL
delta의 μ‘°μ •μΉ˜κ°€ ν—ˆμš© λ²”μœ„ 밖이닀.
EPERM
ν˜ΈμΆœμžμ—κ²Œ μ‹œκ°„μ„ μ‘°μ •ν•  λ§Œν•œ 특ꢌ이 μ—†λ‹€. λ¦¬λˆ…μŠ€μ—μ„œλŠ” CAP_SYS_TIME μ—­λŠ₯이 ν•„μš”ν•˜λ‹€.

ATTRIBUTES

이 μ ˆμ—μ„œ μ‚¬μš©ν•˜λŠ” μš©μ–΄λ“€μ— λŒ€ν•œ μ„€λͺ…은 attributes(7)λ₯Ό 보라.

μΈν„°νŽ˜μ΄μŠ€ 속성 κ°’
adjtime() μŠ€λ ˆλ“œ μ•ˆμ „μ„± MT-Safe

CONFORMING TO

4.3BSD, μ‹œμŠ€ν…œ V.

NOTES

adjtime()을 톡해 ν΄λŸ­μ— ν•˜λŠ” 쑰정은 클럭이 항상 단쑰 μ¦κ°€ν•˜κ²Œ ν•˜λŠ” λ°©μ‹μœΌλ‘œ 이뀄진닀. adjtime()을 μ¨μ„œ 쑰정을 ν•˜λ©΄ μ‹œμŠ€ν…œ μ‹œκ°„μ΄ μ•žμ΄λ‚˜ λ’€λ‘œ κ°‘μžκΈ° κ±΄λ„ˆλ›Έ λ•Œ νŠΉμ • μ‘μš©λ“€(κ°€λ Ή make(1))에 λ°œμƒν•  수 μžˆλŠ” λ¬Έμ œλ“€μ΄ λ°©μ§€λœλ‹€.

adjtime()은 μ‹œμŠ€ν…œ μ‹œκ°„μ„ μ•½κ°„ μ‘°μ •ν•˜λŠ” 데 μ“°κΈ° μœ„ν•œ 것이닀. λŒ€λΆ€λΆ„μ˜ μ‹œμŠ€ν…œμ—μ„œλŠ” delta에 μ§€μ •ν•  수 μžˆλŠ” μ‘°μ •μΉ˜μ— μ œν•œμ„ λ‘”λ‹€. glibc κ΅¬ν˜„μ—μ„œλŠ” deltaκ°€ (INT_MAX / 1000000 - 2) μ΄ν•˜μ΄κ³  (INT_MIN / 1000000 + 2) 이상이어야 ν•œλ‹€. (i386μ—μ„œ 각각 2145초 및 -2145μ΄ˆμ΄λ‹€.)

BUGS

였래된 λ²„κ·Έλ‘œ 인해 deltaλ₯Ό NULL둜 μ§€μ •ν•œ κ²½μš°μ— 남아 μžˆλŠ” 클럭 μ‘°μ •μΉ˜μ— λŒ€ν•œ μœ νš¨ν•œ 정보λ₯Ό olddelta둜 μ „ν˜€ λ°˜ν™˜ν•˜μ§€ μ•ŠλŠ”λ‹€. (이 κ²½μš°μ— μ›λž˜ adjtime()은 남아 μžˆλŠ” 클럭 μ‘°μ •μΉ˜λ₯Ό λ³€κ²½ 없이 λ°˜ν™˜ν•΄μ•Ό ν•œλ‹€.) glibc 2.8 및 이후와 λ¦¬λˆ…μŠ€ 컀널 2.6.26 및 이후λ₯Ό μ“°λŠ” μ‹œμŠ€ν…œμ—μ„œλŠ” 이 버그가 μˆ˜μ •λΌ μžˆλ‹€.

SEE ALSO

adjtimex(2), gettimeofday(2), time(7)


2017-09-15

⚠️ **GitHub.com Fallback** ⚠️