sigpending(2) - wariua/manpages-ko GitHub Wiki
sigpending, rt_sigpending - ๋ฏธ์ฒ๋ฆฌ ์๊ทธ๋ ์กฐ์ฌํ๊ธฐ
#include <signal.h>
int sigpending(sigset_t *set);
glibc ๊ธฐ๋ฅ ํ์ธ ๋งคํฌ๋ก ์๊ฑด (feature_test_macros(7) ์ฐธ๊ณ ):
-
sigpending()
: _POSIX_C_SOURCE
sigpending()
์ ํธ์ถ ์ค๋ ๋๋ก ์ ๋ฌ๋๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ ์๋ ์๊ทธ๋๋ค(์ฆ ์ฐจ๋จ ์ํ์์ ๋ฐ์ํ ์๊ทธ๋๋ค)์ ์งํฉ์ ๋ฐํํ๋ค. ๊ทธ ๋ฏธ์ฒ๋ฆฌ ์๊ทธ๋๋ค์ ๋ง์คํฌ๋ฅผ set
์ผ๋ก ๋ฐํํ๋ค.
sigpending()
์ ์ฑ๊ณต ์ 0์ ๋ฐํํ๊ณ ์ค๋ฅ ์ -1์ ๋ฐํํ๋ค. ์ค๋ฅ ๋๋ ์์ธ์ ๋ํ๋ด๋๋ก errno
๋ฅผ ์ค์ ํ๋ค.
POSIX.1-2001, POSIX.1-2008.
์๊ทธ๋ ์งํฉ ์กฐ์์ ๋ํ ์์ธํ ๋ด์ฉ์ sigsetops(3)๋ฅผ ๋ณด๋ผ.
์๊ทธ๋์ด ๋ธ๋ก ๋์ด ์์ผ๋ฉด์ ์ฒ๋ฆฌ ๋ฐฉ์์ด "๋ฌด์"์ด๋ฉด ์์ฑ ์ ๋ฏธ์ฒ๋ฆฌ ์๊ทธ๋ ๋ง์คํฌ์ ์ถ๊ฐ๋์ง ์๋๋ค.
์ด๋ค ์ค๋ ๋์ ๋ฏธ์ฒ๋ฆฌ ์ํ์ธ ์๊ทธ๋๋ค์ ์งํฉ์ ํน๋ณํ ๊ทธ ์ค๋ ๋์๊ฒ ๋ฏธ์ฒ๋ฆฌ์ธ ์๊ทธ๋๋ค๊ณผ ํ๋ก์ธ์ค ์ ์ฒด์๊ฒ ๋ฏธ์ฒ๋ฆฌ์ธ ์๊ทธ๋๋ค์ ํฉ์งํฉ์ด๋ค. signal(7) ์ฐธ๊ณ .
fork(2)๋ฅผ ํตํด ์์ฑ๋ ์์์ ์ฒ์์ ๋น ๋ฏธ์ฒ๋ฆฌ ์๊ทธ๋ ์งํฉ์ ๊ฐ์ง๊ณ ์๋ค. execve(2)๋ฅผ ๊ฑฐ์น๋ฉด์ ๋ฏธ์ฒ๋ฆฌ ์๊ทธ๋ ์งํฉ์ด ๋ณด์กด๋๋ค.
์๋ ๋ฆฌ๋
์ค ์์คํ
ํธ์ถ์ ์ด๋ฆ์ sigpending()
์ด์๋ค. ํ์ง๋ง ๋ฆฌ๋
์ค 2.2์ ์ค์๊ฐ ์๊ทธ๋์ด ์ถ๊ฐ๋๋ฉด์ ๊ทธ ์์คํ
ํธ์ถ์ด ์ง์ํ๋ ๊ณ ์ ํฌ๊ธฐ 32๋นํธ sigset_t
ํ์
์ด ๋๋ ์ฉ๋์ ๋ง์ง ์๊ฒ ๋์๋ค. ๊ทธ์ ๋ฐ๋ผ ํ์ฅ๋ sigset_t
ํ์
์ ์ง์ํ๊ธฐ ์ํด ์๋ก์ด ์์คํ
ํธ์ถ rt_sigpending()
์ด ์ถ๊ฐ๋์๋ค. ์ ์์คํ
ํธ์ถ์์ ๋ ๋ฒ์งธ ์ธ์๋ก size_t sigsetsize
๋ฅผ ๋ฐ๋๋ฐ, ์ด๋ set
์ ์๊ทธ๋ ์งํฉ์ ๋ฐ์ดํธ ๋จ์ ํฌ๊ธฐ๋ฅผ ๋ํ๋ธ๋ค. glibc์ sigpending()
๋ํผ ํจ์์์ ์ด๋ฐ ์ธ๋ถ ์ฌํญ์ ๊ฐ์ถ๊ณ ์ปค๋์ด ์ ๊ณตํ ๋ ํฌ๋ช
ํ๊ฒ rt_sigpending()
์ ํธ์ถํ๋ค.
glibc 2.2.1๊น์ง ๋ฒ์ ์์๋ sigpending()
๋ํผ ํจ์์ ๋ฒ๊ทธ๊ฐ ์๋๋ฐ, ๋ฏธ์ฒ๋ฆฌ ์ค์๊ฐ ์๊ทธ๋์ ๋ํ ์ ๋ณด๊ฐ ์ฌ๋ฐ๋ก ๋ฐํ๋์ง ์๋๋ค.
kill(2), sigaction(2), signal(2), sigprocmask(2), sigsuspend(2), sigsetops(3), signal(7)
2017-09-15