summaryrefslogtreecommitdiffstats
path: root/man-pages-posix-2013/man3p/atexit.3p
diff options
context:
space:
mode:
Diffstat (limited to 'man-pages-posix-2013/man3p/atexit.3p')
-rw-r--r--man-pages-posix-2013/man3p/atexit.3p131
1 files changed, 131 insertions, 0 deletions
diff --git a/man-pages-posix-2013/man3p/atexit.3p b/man-pages-posix-2013/man3p/atexit.3p
new file mode 100644
index 0000000..144837c
--- /dev/null
+++ b/man-pages-posix-2013/man3p/atexit.3p
@@ -0,0 +1,131 @@
+'\" et
+.TH ATEXIT "3P" 2013 "IEEE/The Open Group" "POSIX Programmer's Manual"
+.SH PROLOG
+This manual page is part of the POSIX Programmer's Manual.
+The Linux implementation of this interface may differ (consult
+the corresponding Linux manual page for details of Linux behavior),
+or the interface may not be implemented on Linux.
+
+.SH NAME
+atexit
+\(em register a function to run at process termination
+.SH SYNOPSIS
+.LP
+.nf
+#include <stdlib.h>
+.P
+int atexit(void (*\fIfunc\fP)(void));
+.fi
+.SH DESCRIPTION
+The functionality described on this reference page is aligned with the
+ISO\ C standard. Any conflict between the requirements described here and the
+ISO\ C standard is unintentional. This volume of POSIX.1\(hy2008 defers to the ISO\ C standard.
+.P
+The
+\fIatexit\fR()
+function shall register the function pointed to by
+.IR func ,
+to be called without arguments at normal program termination. At normal
+program termination, all functions registered by the
+\fIatexit\fR()
+function shall be called, in the reverse order of their registration,
+except that a function is called after any previously registered
+functions that had already been called at the time it was registered.
+Normal termination occurs either by a call to
+\fIexit\fR()
+or a return from
+\fImain\fR().
+.P
+At least 32 functions can be registered with
+\fIatexit\fR().
+.P
+After a successful call to any of the
+.IR exec
+functions, any functions previously registered by
+\fIatexit\fR()
+shall no longer be registered.
+.SH "RETURN VALUE"
+Upon successful completion,
+\fIatexit\fR()
+shall return 0; otherwise, it shall return a non-zero value.
+.SH ERRORS
+No errors are defined.
+.LP
+.IR "The following sections are informative."
+.SH EXAMPLES
+None.
+.SH "APPLICATION USAGE"
+The functions registered by a call to
+\fIatexit\fR()
+must return to ensure that all registered functions are called.
+.P
+The application should call
+\fIsysconf\fR()
+to obtain the value of
+{ATEXIT_MAX},
+the number of functions that can be registered. There is no way for an
+application to tell how many functions have already been registered
+with
+\fIatexit\fR().
+.P
+Since the behavior is undefined if the
+\fIexit\fR()
+function is called more than once, portable applications calling
+\fIatexit\fR()
+must ensure that the
+\fIexit\fR()
+function is not called at normal process termination when all functions
+registered by the
+\fIatexit\fR()
+function are called.
+.P
+All functions registered by the
+\fIatexit\fR()
+function are called at normal process termination, which occurs by a
+call to the
+\fIexit\fR()
+function or a return from
+\fImain\fR()
+or on the last thread termination, when the behavior is as if the
+implementation called
+\fIexit\fR()
+with a zero argument at thread termination time.
+.P
+If, at normal process termination, a function registered by the
+\fIatexit\fR()
+function is called and a portable application needs to stop further
+\fIexit\fR()
+processing, it must call the
+\fI_exit\fR()
+function or the
+\fI_Exit\fR()
+function or one of the functions which cause abnormal process
+termination.
+.SH RATIONALE
+None.
+.SH "FUTURE DIRECTIONS"
+None.
+.SH "SEE ALSO"
+.IR "\fIexec\fR\^",
+.IR "\fIexit\fR\^(\|)",
+.IR "\fIsysconf\fR\^(\|)"
+.P
+The Base Definitions volume of POSIX.1\(hy2008,
+.IR "\fB<stdlib.h>\fP"
+.SH COPYRIGHT
+Portions of this text are reprinted and reproduced in electronic form
+from IEEE Std 1003.1, 2013 Edition, Standard for Information Technology
+-- Portable Operating System Interface (POSIX), The Open Group Base
+Specifications Issue 7, Copyright (C) 2013 by the Institute of
+Electrical and Electronics Engineers, Inc and The Open Group.
+(This is POSIX.1-2008 with the 2013 Technical Corrigendum 1 applied.) 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.unix.org/online.html .
+
+Any typographical or formatting errors that appear
+in this page are most likely
+to have been introduced during the conversion of the source files to
+man page format. To report such errors, see
+https://www.kernel.org/doc/man-pages/reporting_bugs.html .