abort - cause abnormal process termination
() function first unblocks the SIGABRT
signal, and then
raises that signal for the calling process (as though raise
called). This results in the abnormal termination of the process unless the
signal is caught and the signal handler does not return (see
If the SIGABRT
signal is ignored, or caught by a handler that returns,
() function will still terminate the process. It does this by
restoring the default disposition for SIGABRT
and then raising the
signal for a second time.
() function never returns.
For an explanation of the terms used in this section, see attributes
Up until glibc 2.26, if the abort
() function caused process termination,
all open streams were closed and flushed (as with fclose
in some cases this could result in deadlocks and data corruption. Therefore,
starting with glibc 2.27, abort
() terminates the process without
flushing streams. POSIX.1 permits either possible behavior, saying that
() "may include an attempt to effect fclose() on all open
SVr4, POSIX.1-2001, POSIX.1-2008, 4.3BSD, C89, C99.