timer_getoverrun(2) - wariua/manpages-ko GitHub Wiki
timer_getoverrun - POSIX ํ๋ก์ธ์ค๋ณ ํ์ด๋จธ์ ๋ํด ์ด๊ณผ ํ์ ์ป๊ธฐ
#include <time.h>
int timer_getoverrun(timer_t timerid);
-lrt
๋ก ๋งํฌ.
glibc ๊ธฐ๋ฅ ํ์ธ ๋งคํฌ๋ก ์๊ฑด (feature_test_macros(7) ์ฐธ๊ณ ):
-
timer_getoverrun()
: _POSIX_C_SOURCE >= 199309L
timer_getoverrun()
์ timerid
๊ฐ ๊ฐ๋ฆฌํค๋ ํ์ด๋จธ์ ๋ํ "์ด๊ณผ ํ์(overrun count)"๋ฅผ ๋ฐํํ๋ค. ์์ฉ์์ ๊ทธ ์ด๊ณผ ํ์๋ฅผ ์ด์ฉํด ์ฃผ์ด์ง ์๊ฐ ๊ฐ๊ฒฉ ๋์ ๋ฐ์ํ์ ํ์ด๋จธ ๋ง๋ฃ ํ์๋ฅผ ์ ํํ ๊ณ์ฐํ ์ ์๋ค. ์๊ทธ๋์ ํตํด (SIGEV_SIGNAL
) ๋ง๋ฃ ์๋ฆผ์ ์์ ํ ๋์ ์ค๋ ๋๋ฅผ ํตํด (SIGEV_THREAD
) ์์ ํ ๋ ๋ชจ๋์์ ํ์ด๋จธ ์ด๊ณผ๊ฐ ๋ฐ์ํ ์ ์๋ค.
๋ง๋ฃ ์๋ฆผ์ด ์๊ทธ๋์ ํตํด ์ ๋ฌ๋ ๋ ๋ค์๊ณผ ๊ฐ์ด ์ด๊ณผ๊ฐ ๋ฐ์ํ ์ ์๋ค. ํ์ด๋จธ ์๋ฆผ์ ์ค์๊ฐ ์๋ฆผ์ ์ฐ๋์ง ์ฌ๋ถ์ ์๊ด์์ด ์์คํ ์ ํ์ด๋จธ๋ง๋ค ์ต๋ ํ ๊ฐ ์๊ทธ๋์ ํ์ ๋ฃ๋๋ค. (์ด๋ POSIX.1์์ ๋ช ์ธํ๋ ๋์ ๋ฐฉ์์ด๋ค. ์ด์ ๋ฌ๋ฆฌ ๊ฐ ํ์ด๋จธ ๋ง๋ฃ๋ง๋ค ์๊ทธ๋ ํ๋๋ฅผ ํ์ ๋ฃ๋๋ค๋ฉด ํ์ ๋ฃ์ ์ ์๋ ์๊ทธ๋ ๊ฐ์์ ๋ํ ์์คํ ์์ ํ๊ณ๋ฅผ ์ฝ๊ฒ ๋์ ์ ์์ ๊ฒ์ด๋ค.) ์์คํ ์ค์ผ์ค๋ง ์ง์ฐ ๋๋ฌธ์, ๋๋ ์๊ทธ๋์ด ์ผ์์ ์ผ๋ก ์ฐจ๋จ๋์ด ์์ ์๋ ์๊ธฐ ๋๋ฌธ์ ์๋ฆผ ์๊ทธ๋์ด ์์ฑ๋๋ ์๊ฐ๊ณผ (๊ฐ๋ น ์๊ทธ๋ ํธ๋ค๋ฌ์ ์กํ์) ์ ๋ฌ๋๊ฑฐ๋ (๊ฐ๋ น sigwaitinfo(2)๋ก) ์์ฉ๋๋ ์๊ฐ ์ฌ์ด์ ์ง์ฐ์ด ์์ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ์๊ฐ ๋์ ํ์ด๋จธ ๋ง๋ฃ๊ฐ ์ถ๊ฐ๋ก ๋ฐ์ํ ์๋ ์๋ค. ํ์ด๋จธ ์ด๊ณผ ํ์๋ ์๊ทธ๋์ด ์์ฑ๋ ์๊ฐ๊ณผ ์ ๋ฌ ๋ด์ง ์์ฉ๋ ์๊ฐ ์ฌ์ด์ ์ถ๊ฐ๋ก ๋ฐ์ํ ํ์ด๋จธ ๋ง๋ฃ ํ์์ด๋ค.
์ค๋ ๋ ํธ์ถ์ ํตํด ๋ง๋ฃ ์๋ฆผ์ ์ ๋ฌํ ๋ ํ์ด๋จธ ๋์นจ์ด ๋ฐ์ํ ์ ์๋ค. ํ์ด๋จธ ๋ง๋ฃ์ ์๋ฆผ ์ค๋ ๋ ํธ์ถ ์ฌ์ด์ ์์์ ์ง์ฐ์ด ์์ ์ ์์ผ๋ฉฐ ๊ทธ ์ง์ฐ ์๊ฐ ์ค์ ์ถ๊ฐ ํ์ด๋จธ ๋ง๋ฃ๊ฐ ๋ฐ์ํ ์๋ ์๊ธฐ ๋๋ฌธ์ด๋ค.
์ฑ๊ณต ์ timer_getoverrun()
์ ์ง์ ํ ํ์ด๋จธ์ ์ด๊ณผ ํ์๋ฅผ ๋ฐํํ๋ค. ์ด๊ณผ๊ฐ ์ผ์ด๋์ง ์์์ผ๋ฉด ์ด ํ์๊ฐ 0์ผ ์๋ ์๋ค. ์คํจ ์ -1์ ๋ฐํํ๋ฉฐ ์ค๋ฅ๋ฅผ ๋ํ๋ด๋๋ก errno
๋ฅผ ์ค์ ํ๋ค.
EINVAL
-
timerid
๊ฐ ์ ํจํ ํ์ด๋จธ ID๊ฐ ์๋๋ค.
๋ฆฌ๋ ์ค 2.6๋ถํฐ ์ด ์์คํ ํธ์ถ์ด ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
POSIX.1-2001, POSIX.1-2008.
๋ฆฌ๋
์ค์์ ์๊ทธ๋์ ํตํด (SIGEV_SIGNAL
) ํ์ด๋จธ ์๋ฆผ์ ์ ๋ฌํ ๋์ siginfo_t
๊ตฌ์กฐ์ฒด(sigaction(2) ์ฐธ๊ณ )์ si_overrun
ํ๋๋ฅผ ํตํด ์ด๊ณผ ํ์๋ฅผ ์ป๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์์ฉ์์ ์ด๊ณผ ํ์๋ฅผ ์ป๊ธฐ ์ํด ์์คํ
ํธ์ถ์ ํ๋ ์ค๋ฒํค๋๋ฅผ ํผํ ์ ์๋ค. ํ์ง๋ง ์ด๋ POSIX.1์ ๋ํ ํ์ฅ์ด๋ฉฐ ์ด์์ฑ์ด ์๋ค.
POSIX.1์์๋ ์๊ทธ๋์ ์ด์ฉํ ํ์ด๋จธ ์๋ฆผ ๋งฅ๋ฝ์์๋ง ํ์ด๋จธ ์ด๊ณผ๋ฅผ ๋ ผ์ํ๋ค.
POSIX.1์์๋ ํ์ด๋จธ ์ด๊ณผ ํ์๊ฐ ๊ตฌํ์์ ์ ์ํ๋ ์ต๋๊ฐ DELAYTIMER_MAX
์ ๊ฐ๊ฑฐ๋ ๋ ํฌ๋ฉด timer_getoverrun()
์ด DELAYTIMER_MAX
๋ฅผ ๋ฐํํด์ผ ํ๋ค๊ณ ๋ช
์ธํ๋ค. ํ์ง๋ง ๋ฆฌ๋
์ค์์๋ ์ด ๊ธฐ๋ฅ์ ๊ตฌํํ๊ณ ์์ง ์๋ค. ๋์ ํ์ด๋จธ ์ด๊ณผ ๊ฐ์ด ํํ ๊ฐ๋ฅํ ์ ์ ์ต๋๊ฐ์ ์ด๊ณผํ๋ฉด ์นด์ดํฐ๊ฐ ๋๋์์ ๋ฎ์ ๊ฐ๋ถํฐ ๋ค์ ์์ํ๋ค.
timer_create(2) ์ฐธ๊ณ .
clock_gettime(2), sigaction(2), signalfd(2), sigwaitinfo(2), timer_create(2), timer_delete(2), timer_settime(2), signal(7), time(7)
2017-09-15