diff options
Diffstat (limited to 'man3p/abort.3p')
-rw-r--r-- | man3p/abort.3p | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/man3p/abort.3p b/man3p/abort.3p new file mode 100644 index 000000000..9c42a05b8 --- /dev/null +++ b/man3p/abort.3p @@ -0,0 +1,105 @@ +.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved +.TH "ABORT" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual" +.\" abort +.SH NAME +abort \- generate an abnormal process abort +.SH SYNOPSIS +.LP +\fB#include <stdlib.h> +.br +.sp +void abort(void); +.br +\fP +.SH DESCRIPTION +.LP +The \fIabort\fP() function shall cause abnormal process termination +to occur, unless the signal SIGABRT is being caught and the +signal handler does not return. +.LP +The +abnormal termination processing shall include the default actions +defined for SIGABRT and may include an attempt to effect \fIfclose\fP() +on all open streams. +.LP +The SIGABRT signal shall be sent to the calling process as if by means +of \fIraise\fP() +with the argument SIGABRT. +.LP +The +status made available to \fIwait\fP() or \fIwaitpid\fP() by \fIabort\fP() +shall be that of a process terminated by the SIGABRT signal. +The \fIabort\fP() function shall override blocking or ignoring the +SIGABRT signal. +.SH RETURN VALUE +.LP +The \fIabort\fP() function shall not return. +.SH ERRORS +.LP +No errors are defined. +.LP +\fIThe following sections are informative.\fP +.SH EXAMPLES +.LP +None. +.SH APPLICATION USAGE +.LP +Catching the signal is intended to provide the application writer +with a portable means to abort processing, free from possible +interference from any implementation-defined functions. +.SH RATIONALE +.LP +The ISO/IEC\ 9899:1999 standard requires the \fIabort\fP() function +to be async-signal-safe. Since +IEEE\ Std\ 1003.1-2001 defers to the ISO\ C standard, this required +a change to the DESCRIPTION from ``shall include +the effect of \fIfclose\fP()'' to ``may include an attempt to effect +\fIfclose\fP().'' +.LP +The revised wording permits some backwards-compatibility and avoids +a potential deadlock situation. +.LP +The Open Group Base Resolution bwg2002-003 is applied, removing the +following XSI shaded paragraph from the DESCRIPTION: +.LP +``On XSI-conformant systems, in addition the abnormal termination +processing shall include the effect of \fIfclose\fP() on message catalog +descriptors.'' +.LP +There were several reasons to remove this paragraph: +.IP " *" 3 +No special processing of open message catalogs needs to be performed +prior to abnormal process termination. +.LP +.IP " *" 3 +The main reason to specifically mention that \fIabort\fP() includes +the effect of \fIfclose\fP() on open streams is to flush output queued +on the stream. Message catalogs in this +context are read-only and, therefore, do not need to be flushed. +.LP +.IP " *" 3 +The effect of \fIfclose\fP() on a message catalog descriptor is unspecified. +Message +catalog descriptors are allowed, but not required to be implemented +using a file descriptor, but there is no mention in +IEEE\ Std\ 1003.1-2001 of a message catalog descriptor using a standard +I/O stream FILE object as would be expected by \fIfclose\fP(). +.LP +.SH FUTURE DIRECTIONS +.LP +None. +.SH SEE ALSO +.LP +\fIexit\fP() , \fIkill\fP() , \fIraise\fP() , \fIsignal\fP() , \fIwait\fP() +, \fIwaitpid\fP() , the +Base Definitions volume of IEEE\ Std\ 1003.1-2001, \fI<stdlib.h>\fP +.SH COPYRIGHT +Portions of this text are reprinted and reproduced in electronic form +from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology +-- Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. In the +event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard +is the referee document. The original Standard can be obtained online at +http://www.opengroup.org/unix/online.html . |