Man Pages

abort(3p) - phpMan abort(3p) - phpMan

Command: man perldoc info search(apropos)  

ABORT(3P)                  POSIX Programmer's Manual                 ABORT(3P)

       This manual page is part of the POSIX Programmer's Manual.  The Linux implementation of this interface may dif-
       fer (consult the corresponding Linux manual page for details of Linux behavior), or the interface  may  not  be
       implemented on Linux.

       abort - generate an abnormal process abort

       #include <stdlib.h>

       void abort(void);

       The  abort()  function  shall  cause  abnormal process termination to occur, unless the signal SIGABRT is being
       caught and the signal handler does not return.

       The abnormal termination processing shall include the default actions defined for SIGABRT and  may  include  an
       attempt to effect fclose() on all open streams.

       The SIGABRT signal shall be sent to the calling process as if by means of raise() with the argument SIGABRT.

       The  status made available to wait() or waitpid() by abort() shall be that of a process terminated by the SIGA-
       BRT signal.  The abort() function shall override blocking or ignoring the SIGABRT signal.

       The abort() function shall not return.

       No errors are defined.

       The following sections are informative.


       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.

       The   ISO/IEC 9899:1999   standard   requires   the   abort()   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 fclose()'' to ''may include an attempt to effect fclose().''

       The revised wording permits some backwards-compatibility and avoids a potential deadlock situation.

       The  Open  Group  Base  Resolution bwg2002-003 is applied, removing the following XSI shaded paragraph from the

       ''On XSI-conformant systems, in addition the abnormal  termination  processing  shall  include  the  effect  of
       fclose() on message catalog descriptors.''

       There were several reasons to remove this paragraph:

        * No  special processing of open message catalogs needs to be performed prior to abnormal process termination.

        * The main reason to specifically mention that abort() includes the effect of fclose() 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.

        * The effect of fclose() 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 fclose().


       exit(),  kill(),  raise(),  signal(),  wait(),  waitpid(), the Base Definitions volume of IEEE Std 1003.1-2001,

       Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1, 2003 Edition, Stan-
       dard  for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifica-
       tions 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 Stan-
       dard, the original IEEE and The Open Group Standard is the referee  document.  The  original  Standard  can  be
       obtained online at .

IEEE/The Open Group                  2003                            ABORT(3P)