logo

oasis-root

Compiled tree of Oasis Linux based on own branch at <https://hacktivis.me/git/oasis/> git clone https://anongit.hacktivis.me/git/oasis-root.git

abort.3p (4407B)


  1. '\" et
  2. .TH ABORT "3P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual"
  3. .\"
  4. .SH PROLOG
  5. This manual page is part of the POSIX Programmer's Manual.
  6. The Linux implementation of this interface may differ (consult
  7. the corresponding Linux manual page for details of Linux behavior),
  8. or the interface may not be implemented on Linux.
  9. .\"
  10. .SH NAME
  11. abort
  12. \(em generate an abnormal process abort
  13. .SH SYNOPSIS
  14. .LP
  15. .nf
  16. #include <stdlib.h>
  17. .P
  18. void abort(void);
  19. .fi
  20. .SH DESCRIPTION
  21. The functionality described on this reference page is aligned with the
  22. ISO\ C standard. Any conflict between the requirements described here and the
  23. ISO\ C standard is unintentional. This volume of POSIX.1\(hy2017 defers to the ISO\ C standard.
  24. .P
  25. The
  26. \fIabort\fR()
  27. function shall cause abnormal process termination to occur, unless the
  28. signal SIGABRT is being caught and the signal handler does not return.
  29. .P
  30. The abnormal termination processing shall include the default actions
  31. defined for SIGABRT and may include an attempt to effect
  32. \fIfclose\fR()
  33. on all open streams.
  34. .P
  35. The SIGABRT signal shall be sent to the calling process as if by means
  36. of
  37. \fIraise\fR()
  38. with the argument SIGABRT.
  39. .P
  40. The status made available to
  41. \fIwait\fR(),
  42. \fIwaitid\fR(),
  43. or
  44. \fIwaitpid\fR()
  45. by
  46. \fIabort\fR()
  47. shall be that of a process terminated by the SIGABRT signal.
  48. The
  49. \fIabort\fR()
  50. function shall override blocking or ignoring the SIGABRT signal.
  51. .SH "RETURN VALUE"
  52. The
  53. \fIabort\fR()
  54. function shall not return.
  55. .SH ERRORS
  56. No errors are defined.
  57. .LP
  58. .IR "The following sections are informative."
  59. .SH EXAMPLES
  60. None.
  61. .SH "APPLICATION USAGE"
  62. Catching the signal is intended to provide the application developer with
  63. a portable means to abort processing, free from possible interference
  64. from any implementation-supplied functions.
  65. .SH RATIONALE
  66. The ISO/IEC\ 9899:\|1999 standard requires the
  67. \fIabort\fR()
  68. function to be async-signal-safe. Since POSIX.1\(hy2008 defers to the ISO\ C standard,
  69. this required a change to the DESCRIPTION from ``shall include the
  70. effect of
  71. \fIfclose\fR()''
  72. to ``may include an attempt to effect
  73. \fIfclose\fR().''
  74. .P
  75. The revised wording permits some backwards-compatibility and avoids a
  76. potential deadlock situation.
  77. .P
  78. The Open Group Base Resolution bwg2002\(hy003 is applied, removing the
  79. following XSI shaded paragraph from the DESCRIPTION:
  80. .P
  81. ``On XSI-conformant systems, in addition the abnormal termination
  82. processing shall include the effect of
  83. \fIfclose\fR()
  84. on message catalog descriptors.''
  85. .P
  86. There were several reasons to remove this paragraph:
  87. .IP " *" 4
  88. No special processing of open message catalogs needs to be performed
  89. prior to abnormal process termination.
  90. .IP " *" 4
  91. The main reason to specifically mention that
  92. \fIabort\fR()
  93. includes the effect of
  94. \fIfclose\fR()
  95. on open streams is to flush output queued on the stream. Message
  96. catalogs in this context are read-only and, therefore, do not need to
  97. be flushed.
  98. .IP " *" 4
  99. The effect of
  100. \fIfclose\fR()
  101. on a message catalog descriptor is unspecified. Message catalog
  102. descriptors are allowed, but not required to be implemented using a
  103. file descriptor, but there is no mention in POSIX.1\(hy2008 of a message catalog
  104. descriptor using a standard I/O stream FILE object as would be expected
  105. by
  106. \fIfclose\fR().
  107. .SH "FUTURE DIRECTIONS"
  108. None.
  109. .SH "SEE ALSO"
  110. .IR "\fIexit\fR\^(\|)",
  111. .IR "\fIkill\fR\^(\|)",
  112. .IR "\fIraise\fR\^(\|)",
  113. .IR "\fIsignal\fR\^(\|)",
  114. .IR "\fIwait\fR\^(\|)",
  115. .IR "\fIwaitid\fR\^(\|)"
  116. .P
  117. The Base Definitions volume of POSIX.1\(hy2017,
  118. .IR "\fB<stdlib.h>\fP"
  119. .\"
  120. .SH COPYRIGHT
  121. Portions of this text are reprinted and reproduced in electronic form
  122. from IEEE Std 1003.1-2017, Standard for Information Technology
  123. -- Portable Operating System Interface (POSIX), The Open Group Base
  124. Specifications Issue 7, 2018 Edition,
  125. Copyright (C) 2018 by the Institute of
  126. Electrical and Electronics Engineers, Inc and The Open Group.
  127. In the event of any discrepancy between this version and the original IEEE and
  128. The Open Group Standard, the original IEEE and The Open Group Standard
  129. is the referee document. The original Standard can be obtained online at
  130. http://www.opengroup.org/unix/online.html .
  131. .PP
  132. Any typographical or formatting errors that appear
  133. in this page are most likely
  134. to have been introduced during the conversion of the source files to
  135. man page format. To report such errors, see
  136. https://www.kernel.org/doc/man-pages/reporting_bugs.html .