POSIX specification:
http://www.opengroup.org/onlinepubs/9699919799/basedefs/signal.h.html
Gnulib module: signal-h
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 9.
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 9.
struct sigaction lacks the sa_sigaction member on some
platforms:
Irix 5.3, Interix 3.5.
pid_t is not defined on some platforms:
MSVC 9.
SIGPIPE is not defined on some platforms:
mingw, MSVC 9.
SA_NODEFER is not defined on some platforms:
Interix 3.5.
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:
Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, AIX 5.1, HP-UX 11,
IRIX 6.5, OSF/1 5.1, Solaris 11 2011-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS.
Portability problems not fixed by Gnulib:
SIGRTMIN and SIGRTMAX expand to an expression of type
long instead of int on some platforms:
OSF/1 5.1.
SIGBUS is set to the same value as SIGSEGV,
rather than being a distinct signal, on some platforms:
Haiku.