SIGPROCMASK(2)

명칭
sigprocmask - 현재의 시그널 마스크를 조작한다

프로그램 라이브러리
libc

서식
<signal.h> int sigprocmask(int how, const sigset_t *set, sigset_t *oset)

해설
sigprocmask() 함수는, 현재의 시그널 마스크 (전달이 블록 되고 있는 시그널) 의 조사나 변경을 행합니다. 시그널은, 현재의 시그널 마스크 세트에 포함되는 경우에 블록 됩니다.

set 하지만 눌이 아닌 경우, sigprocmask() 의 조작은, 파라미터 how 의 값에 의해 정해집니다. 시그널 마스크는, 지정했다 set (와)과 현재의 마스크에 의해 변경됩니다. 함수는, <signal.h> 그리고 정의되는 이하의 값을 사용해 how 그리고 지정합니다.

SIG_BLOCK
    새로운 마스크는, 현재의 마스크와 지정했다 set 의 화집합이 됩니다.

SIG_UNBLOCK
    새로운 마스크는, 현재의 마스크와 지정했다 set 의 여집합의 교제가 됩니다.

SIG_SETMASK
    현재의 마스크는, 지정했다 set (으)로 옮겨집니다.

oset 하지만 눌이 아닌 경우, 전의 시그널 마스크의 값으로 설정됩니다. set 하지만 눌인 경우, how 의 값이 무효가 되어, 마스크는 미설정인 채 남으므로, 시그널 마스크를 수정하지 않고 검사할 수 있게 됩니다.

시스템에서는, SIGKILL (이)나 SIGSTOP 의 블록이 허가되고 있지 않습니다.

반환값

에러
이하가 발생하면(자), sigprocmask() 호출은 에러가 되어, 시그널 마스크는 변경되지 않습니다.

[EINVAL]
    how 하지만, 여기서 리스트에 든 이외의 값이 되어 있습니다.

관련 항목
kill(2), sigaction(2), sigsuspend(2), fpsetmask(3), sigsetops(3)

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