The sigpause() function shall remove sig from the signal mask of the calling process and suspend the calling process until it receives a signal The sigpause() function shall restore the signal mask of the calling process to its original state before it returns. Execution shall be suspended by sigpause() function until a signal is received, after which it shall return -1 and set errno to [EINTR]. If the sig argument is an illegal signal number, then errno will be set to [EINVAL].