@node signal
@section @code{signal}
@findex signal

POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/signal.html}

Gnulib module: ---

Portability problems fixed by Gnulib:
@itemize
@end itemize

Portability problems not fixed by Gnulib:
@itemize
@item
This function crashes when invoked with invalid arguments on some platforms:
MSVC 14.
@item
On System V platforms, when the signal is triggered, the kernel uninstalls the
handler (i.e.@: resets the signal's action to SIG_DFL) before invoking the
handler.  This opens the door to race conditions: undesired things happen
if the signal is triggered twice and the signal handler was not quick enough
reinstalling itself as a handler.  On BSD platforms and glibc platforms, on the
other hand, when the signal is triggered, the kernel blocks the signal
before invoking the handler.  This is saner, but POSIX still allows either
behavior.  To avoid this problem, use @code{sigaction} instead of
@code{signal}.
@end itemize
