@node signal.h
@section @file{signal.h}

POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/basedefs/signal.h.html}

Gnulib module: signal-h

Portability problems fixed by Gnulib:
@itemize
@item
@code{volatile sig_atomic_t} is rejected by older compilers on some
platforms:
AIX.
@item
@code{sigset_t} is missing on some platforms:
MSVC 9.
@item
@code{sigset_t} is only declared in <sys/types.h> on some platforms:
mingw.
@item
@code{struct sigaction} and @code{siginfo_t} are missing on some
platforms:
mingw, MSVC 9.
@item
@code{struct sigaction} lacks the @code{sa_sigaction} member on some
platforms:
Irix 5.3, Interix 3.5.
@item
The type @code{pid_t} is not defined on some platforms:
MSVC 9.
@item
The signal @code{SIGPIPE} is not defined on some platforms:
mingw, MSVC 9.
@item
The macro @code{SA_NODEFER} is not defined on some platforms:
Interix 3.5.
@item
The macros @code{SA_RESETHAND} and @code{SA_RESTART} are not defined
on some platforms:
NonStop.
@item
The type @code{sighandler_t} (a GNU extension) is not defined on most non-glibc
platforms:
MacOS 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 2010-11, Cygwin, mingw, MSVC 9, Interix 3.5, BeOS.
@end itemize

Portability problems not fixed by Gnulib:
@itemize
@item
Many signals are not defined on some platforms:
mingw, MSVC 9.
@item
The macros @code{SIGRTMIN} and @code{SIGRTMAX} expand to an expression of type
@code{long} instead of @code{int} on some platforms:
OSF/1 5.1.
@item
The macro @code{SIGBUS} is set to the same value as @code{SIGSEGV},
rather than being a distinct signal, on some platforms:
Haiku.
@end itemize
