sigsuspend(2) - wariua/manpages-ko GitHub Wiki
sigsuspend, rt_sigsuspend - μκ·Έλ κΈ°λ€λ¦¬κΈ°
#include <signal.h>
int sigsuspend(const sigset_t *mask);
glibc κΈ°λ₯ νμΈ λ§€ν¬λ‘ μ건 (feature_test_macros(7) μ°Έκ³ ):
-
sigsuspend()
: _POSIX_C_SOURCE
sigsuspend()
λ μΌμμ μΌλ‘ νΈμΆ μ€λ λμ μκ·Έλ λ§μ€ν¬λ₯Ό mask
λ‘ μ€ λ§μ€ν¬λ‘ κ΅μ²΄νκ³ μ μ²λ¦¬ λμμ΄ μκ·Έλ νΈλ€λ¬ νΈμΆμ΄λ νλ‘μΈμ€ μ’
λ£μΈ μκ·Έλμ΄ μ λ¬λ λκΉμ§ μ€λ λ μ€νμ μ€μ§νλ€.
μκ·Έλμ΄ νλ‘μΈμ€λ₯Ό μ’
λ£μν€λ κ²½μ°μλ sigsuspend()
κ° λ°ννμ§ μλλ€. μκ·Έλμ μ‘λ κ²½μ°μλ μκ·Έλ νΈλ€λ¬ λ°ν νμ sigsuspend()
κ° λ°ννλ©°, μκ·Έλ λ§μ€ν¬κ° sigsuspend()
νΈμΆ μ μνλ‘ λ³΅μλλ€.
SIGKILL
μ΄λ SIGSTOP
μ λ§λ κ²μ λΆκ°λ₯νλ€. mask
μ μ΄ μκ·Έλλ€μ μ§μ ν΄λ μ€λ λμ μκ·Έλ λ§μ€ν¬μ μ무 μν₯μ μ£Όμ§ μλλ€.
sigsuspend()
λ νμ -1μ λ°ννλ©° μ€λ₯(보ν΅μ EINTR
)λ₯Ό λνλ΄λλ‘ errno
λ₯Ό μ€μ νλ€.
EFAULT
-
mask
κ° νλ‘μΈμ€ μ£Όμ 곡κ°μ μ ν¨ν μΌλΆκ° μλ λ©λͺ¨λ¦¬λ₯Ό κ°λ¦¬ν€κ³ μλ€. EINTR
- μκ·Έλμ μν΄ νΈμΆμ΄ μ€λ¨λμλ€. signal(7) μ°Έκ³ .
POSIX.1-2001, POSIX.1-2008.
보ν΅μ μ€μν μ½λ κ΅¬κ° μ€ν λμμ μκ·Έλ μ λ¬μ λ§κΈ° μν΄ sigprocmask(2)μ κ²°ν©ν΄μ sigsuspend()
λ₯Ό μ¬μ©νλ€. λ¨Όμ νΈμΆμκ° sigprocmask(2)λ‘ μκ·Έλμ λ§λλ€. μ€μν μ½λκ° λλ¬μ λ sigprocmask(2)κ° (oldset
μΈμλ‘) λ°ννλ μκ·Έλ λ§μ€ν¬λ‘ sigsuspend()
λ₯Ό νΈμΆν΄μ μκ·Έλμ κΈ°λ€λ¦°λ€.
μκ·Έλ μ§ν© μ‘°μμ λν μμΈν λ΄μ©μ sigsetops(3)λ₯Ό 보λΌ.
μλ 리λ
μ€ μμ€ν
νΈμΆμ μ΄λ¦μ sigsuspend()
μλ€. νμ§λ§ 리λ
μ€ 2.2μ μ€μκ° μκ·Έλμ΄ μΆκ°λλ©΄μ κ·Έ μμ€ν
νΈμΆμ΄ μ§μνλ κ³ μ ν¬κΈ° 32λΉνΈ sigset_t
νμ
μ΄ λλ μ©λμ λ§μ§ μκ² λμλ€. κ·Έμ λ°λΌ νμ₯λ sigset_t
νμ
μ μ§μνκΈ° μν΄ μλ‘μ΄ μμ€ν
νΈμΆ rt_sigsuspend()
κ° μΆκ°λμλ€. μ μμ€ν
νΈμΆμμ λ λ²μ§Έ μΈμλ‘ size_t sigsetsize
λ₯Ό λ°λλ°, μ΄λ mask
μ μκ·Έλ μ§ν©μ λ°μ΄νΈ λ¨μ ν¬κΈ°λ₯Ό λνλΈλ€. νμ¬λ μ΄ μΈμκ° sizeof(sigset_t)
κ°μ κ°μ ΈμΌ νλ€. (μ κ·Έλ¬λ©΄ EINVAL
μ€λ₯κ° λλ€.) glibcμ sigsuspend()
λνΌ ν¨μμμ μ΄λ° μΈλΆ μ¬νμ κ°μΆκ³ 컀λμ΄ μ 곡ν λ ν¬λͺ
νκ² rt_sigsuspend()
λ₯Ό νΈμΆνλ€.
kill(2), pause(2), sigaction(2), signal(2), sigprocmask(2), sigwaitinfo(2), sigsetops(3), sigwait(3), signal(7)
2019-03-06