POSIX specification:
https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/signal.h.html
Portability problems fixed by Gnulib:
volatile sig_atomic_t is rejected by older compilers on some
platforms:
AIX.
sigset_t is missing on some platforms:
MSVC 14.
sigset_t is only declared in <sys/types.h> on some platforms:
mingw.
struct sigaction and siginfo_t are missing on some
platforms:
mingw, MSVC 14.
pid_t is not defined on some platforms:
MSVC 14.
SIGPIPE is not defined on some platforms:
mingw, MSVC 14.
SA_RESETHAND and SA_RESTART are not defined
on some platforms:
NonStop.
sighandler_t (a GNU extension) is not defined on most non-glibc
platforms:
macOS 11.1, FreeBSD 14.0, NetBSD 10.0, OpenBSD 7.5, AIX 5.1, HP-UX 11, Solaris 11.4, Cygwin, mingw, MSVC 14.
Portability problems not fixed by Gnulib:
SIGBUS is set to the same value as SIGSEGV,
rather than being a distinct signal, on some platforms:
Haiku.