The sigpause() function is deprecated from the LSB and is expected to disappear from a future version of the LSB. Conforming applications should use sigsuspend() instead.
In the source standard, sigpause() is implemented as a macro causing it to behave as described in ISO POSIX (2003), and is equivalent to the function __xpg_sigpause(). If the macro is undefined, sigpause() from the binary standard is used, with differences as described here:
The sigpause() function shall block those signals indicated by sig and suspend execution of the thread until a signal is delivered. When a signal is delivered, the original signal mask shall be restored.