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].