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

NAME

ualarm - μ£Όμ–΄μ§„ 마이크둜초 ν›„λ‘œ μ‹œκ·Έλ„ μ˜ˆμ•½ν•˜κΈ°

SYNOPSIS

#include <unistd.h>

useconds_t ualarm(useconds_t usecs, useconds_t interval);

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

ualarm():
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

DESCRIPTION

ualarm() ν•¨μˆ˜λŠ” usecs 마이크둜초 (이상) 후에 호좜 ν”„λ‘œμ„ΈμŠ€μ—κ²Œ SIGALRM μ‹œκ·Έλ„μ΄ κ°€κ²Œ ν•œλ‹€. μ–΄λ–€ μ‹œμŠ€ν…œ ν™œλ™μ΄λ‚˜ 호좜 μ²˜λ¦¬μ— μ†Œλͺ¨λœ μ‹œκ°„μ— μ˜ν•΄, λ˜λŠ” μ‹œμŠ€ν…œ 타이머 정밀도에 따라 μ§€μ—° μ‹œκ°„μ΄ 살짝 κΈΈμ–΄μ§ˆ μˆ˜λ„ μžˆλ‹€.

μž‘κ±°λ‚˜ λ¬΄μ‹œν•˜μ§€ μ•ŠμœΌλ©΄ SIGALRM μ‹œκ·Έλ„μ€ ν”„λ‘œμ„ΈμŠ€λ₯Ό μ’…λ£Œμ‹œν‚¨λ‹€.

interval μΈμžκ°€ 0이 μ•„λ‹ˆλ©΄ 첫 번째 μ‹œκ·Έλ„ 후에도 interval λ§ˆμ΄ν¬λ‘œμ΄ˆλ§ˆλ‹€ SIGALRM μ‹œκ·Έλ„μ„ 계속 보낸닀.

RETURN VALUE

이 ν•¨μˆ˜λŠ” μ•žμ„œ 섀정돼 있던 μ•ŒλžŒμ— λŒ€ν•΄ 남은 마이크둜초 수λ₯Ό λ°˜ν™˜ν•œλ‹€. 미처리 μ•ŒλžŒμ΄ μ—†μœΌλ©΄ 0을 λ°˜ν™˜ν•œλ‹€.

ERRORS

EINTR
μ‹œκ·Έλ„μ— μ˜ν•΄ 쀑단됨. signal(7) μ°Έκ³ .
EINVAL
usecλ‚˜ interval이 1000000 미만이 μ•„λ‹ˆλ‹€. (그게 였λ₯˜λΌκ³  λ³΄λŠ” μ‹œμŠ€ν…œμ—μ„œ.)

ATTRIBUTES

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

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

CONFORMING TO

4.3BSD, POSIX.1-2001. POSIX.1-2001μ—μ„œ 이 ν•¨μˆ˜λ₯Ό κ΅¬μ‹μœΌλ‘œ ν‘œμ‹œν–ˆλ‹€. POSIX.1-2008μ—μ„œ ualarm() λͺ…μ„Έλ₯Ό μ œκ±°ν–ˆλ‹€. 4.3BSD, SUSv2, POSIXμ—μ„œλŠ” μ–΄λ–€ 였λ₯˜λ„ κ·œμ •ν•˜κ³  μžˆμ§€ μ•Šλ‹€.

NOTES

POSIX.1-2001μ—μ„œλŠ” usecs μΈμžκ°€ 0일 λ•Œ μ–΄λ–»κ²Œ λ˜λŠ”μ§€ λͺ…μ„Έν•˜κ³  μžˆμ§€ μ•Šλ‹€. λ¦¬λˆ…μŠ€μ—μ„œ (그리고 μ•„λ§ˆ λŒ€λ‹€μˆ˜μ˜ λ‹€λ₯Έ μ‹œμŠ€ν…œμ—μ„œ) κ·Έ νš¨κ³ΌλŠ” 미처리 μ•ŒλžŒμ΄ 있으면 μ·¨μ†Œν•˜λŠ” 것이닀.

useconds_t νƒ€μž…μ€ [0,1000000] λ²”μœ„μ˜ μ •μˆ˜λ₯Ό 담을 수 μžˆλŠ” λΆ€ν˜Έ μ—†λŠ” μ •μˆ˜ νƒ€μž…μ΄λ‹€. μ›λž˜ BSD κ΅¬ν˜„μ—μ„œ, 그리고 glibc 버전 2.1 μ „μ—μ„œλŠ” ualarm() μΈμžλ“€μ— unsigned int νƒ€μž…μ„ 썼닀. ν”„λ‘œκ·Έλž¨μ—μ„œ useconds_tλ₯Ό λͺ…μ‹œμ μœΌλ‘œ μ“°μ§€ μ•ŠλŠ” 게 이식성 μΈ‘λ©΄μ—μ„œ λ‚˜μ„ 것이닀.

이 ν•¨μˆ˜μ™€ alarm(2), sleep(3), nanosleep(2), setitimer(2), timer_create(2), timer_delete(2), timer_getoverrun(2), timer_gettime(2), timer_settime(2), usleep(3) λ“±μ˜ 여타 타이머 ν•¨μˆ˜λ“€κ³Όμ˜ μƒν˜Έμž‘μš©μ€ λͺ…세돼 μžˆμ§€ μ•Šλ‹€.

이 ν•¨μˆ˜λŠ” ꡬ식이닀. λŒ€μ‹  setitimer(2)λ‚˜ POSIX 간격 타이머(timer_create(2) λ“±)λ₯Ό 써야 ν•œλ‹€.

SEE ALSO

alarm(2), getitimer(2), nanosleep(2), select(2), setitimer(2), usleep(3), time(7)


2017-09-15

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