sigpause - atomically release blocked signals and wait for
int sigpause(int sigmask));
This interface is made obsolete by sigsuspend(2).
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.
4.4BSD. The sigpause function call appeared in 4.3BSD and
sigsuspend(2), kill(2), sigaction(2), sigblock(2), sigvec(2)