The sigprocmask function is used to examine or change the signal mask of the calling process. Typically, use the sigprocmask SIG_BLOCK value to block signals during a critical section of code, then use the sigprocmask SIG_ SETMASK value to restore the mask to the previous value returned by the sigprocmask SIG_BLOCK value. If there are any unblocked signals pending after the call to the sigprocmask function, at least one of those signals is delivered before the sigprocmask function returns. You cannot block SIGKILL or SIGSTOP signals with the sigprocmask function. If a program attempts to block one of these signals, the sigprocmask function gives no indication of the error.