sigpause() assigns
sigmask to the set of masked signals and then waits for a signal to arrive; on return the set of masked signals is restored.
sigmask is usually 0 to indicate that no signals are to be blocked.
sigpause() always terminates by being interrupted, returning -1 with
errno set to
EINTR.