pthread_sigmask( ) function is used to examine or change (or both) the calling thread's signal mask, independent of the number of threads the process contains. The function shall be equivalent to sigprocmask( ), but with the ability to be used in a thread of a multi-threaded process. The sigprocmask( ) function is used to examine or change (or both) the signal mask of the calling thread of a single-threaded process. The argument set points to a set of signals to be used to change the currently blocked set, unless the argument is a null pointer. The resulting set shall be the union of the current set and the signal set pointed to by set, if the value of the argument how is SIG_BLOCK. The resulting set shall be the signal set pointed to by set, if the value of the argument how is SIG_SETMASK The resulting set shall be the intersection of the current set and the complement of the signal set pointed to by set, if the value of the argument how is SIG_UNBLOCK The previous mask shall be stored in the location pointed to by oset, if the argument oset is not a null pointer. The value of the argument how is not significant and the process's signal mask shall be unchanged, and thus the call can be used to enquire about currently blocked signals, if the argument set is a null pointer. After the call to sigprocmask(), if there are any pending unblocked signals, at least one of those signals shall be delivered before the call to sigprocmask() returns. The system shall not allow the blocking of signals which cannot be ignored, and shall not cause an error to be indicated. If any of the SIGFPE, SIGILL, SIGSEGV, or SIGBUS signals are generated while they are blocked, and the signal was not generated by the kill(), sigqueue() or raise()functions, the result is undefined. The thread's signal mask shall not be changed, if sigprocmask( ) fails. In a multi-threaded process, the use of the sigprocmask( ) function is unspecified. pthread_sigmask( ) shall return 0, Upon successful completion; otherwise, it shall return the corresponding error number. sigprocmask( ) shall return 0, Upon successful completion; otherwise, it shall return -1 and errno shall be set to indicate the error, and the process' signal mask shall be unchanged. An errno value of [EINVAL] shall be returned and the pthreadsigmask() function shall fail, if the value of the how argument is not equal to one of the defined values. An errno value of [EINVAL] shall be returned and the sigprocmask() function shall fail, if the value of the how argument is not equal to one of the defined values. An error code of [EINTR] shall not be returned by the pthread_sigmask( ) function.