SIGSUSPEND(2)

명칭
sigsuspend - 블록 되고 있는 시그널의 해방과 새치기 대기를 불가분에 실행

프로그램 라이브러리
libc

서식
<signal.h> int sigsuspend(const sigset_t *sigmask)

해설
sigsuspend() (은)는, sigmask 하지만 가리키는 집합에, 블록 되고 있는 시그널 마스크를 일시적으로 변경하고 나서, 시그널의 도착을 기다립니다. 복귀시에, 마스크 된 시그널의 전의 집합이 복원됩니다. 통상의 경우, 시그널 마스크 집합은 하늘에서, 호출이 계속되는 동안, 모든 시그널이 블록 되지 않는 것을 나타냅니다.

통상의 용법에서는, sigprocmask(2) 그리고 시그널을 블록 해 중요한 섹션을 시작해 시그널의 발생으로 수정된 변수를 조사해 실행해야 할 일이 없는 것을 판단해, sigprocmask 하지만 돌려준 이전의 마스크로 sigsuspend() (을)를 사용하는 것으로 프로세스가 정지해 일을 기다립니다.

반환값
sigsuspend() 함수는, 항상, 끼어들어지는 것으로 종료해, errno (을)를 EINTR (으)로 설정해,-1 를 돌려줍니다.

관련 항목
sigaction(2), sigprocmask(2), sigsetops(3)

표준
sigsupend() 함수 호출은, p1003.1-90 에 준거하고 있습니다.