From 3d08cd331c1adcf0d917392f7e527b3f00511748 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 24 May 2024 06:52:22 +0200 Subject: Merging upstream version 6.8. Signed-off-by: Daniel Baumann --- man3/atexit.3 | 169 ---------------------------------------------------------- 1 file changed, 169 deletions(-) delete mode 100644 man3/atexit.3 (limited to 'man3/atexit.3') diff --git a/man3/atexit.3 b/man3/atexit.3 deleted file mode 100644 index 4a9842b..0000000 --- a/man3/atexit.3 +++ /dev/null @@ -1,169 +0,0 @@ -'\" t -.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) -.\" -.\" SPDX-License-Identifier: Linux-man-pages-copyleft -.\" -.\" References consulted: -.\" Linux libc source code -.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) -.\" 386BSD man pages -.\" Modified 1993-03-29, David Metcalfe -.\" Modified 1993-07-24, Rik Faith (faith@cs.unc.edu) -.\" Modified 2003-10-25, Walter Harms -.\" -.TH atexit 3 2023-10-31 "Linux man-pages 6.7" -.SH NAME -atexit \- register a function to be called at normal process termination -.SH LIBRARY -Standard C library -.RI ( libc ", " \-lc ) -.SH SYNOPSIS -.nf -.B #include -.P -.BI "int atexit(void (*" function )(void)); -.fi -.SH DESCRIPTION -The -.BR atexit () -function registers the given -.I function -to be -called at normal process termination, either via -.BR exit (3) -or via return from the program's -.IR main (). -Functions so registered are called in -the reverse order of their registration; no arguments are passed. -.P -The same function may be registered multiple times: -it is called once for each registration. -.P -POSIX.1 requires that an implementation allow at least -.\" POSIX.1-2001, POSIX.1-2008 -.B ATEXIT_MAX -(32) such functions to be registered. -The actual limit supported by an implementation can be obtained using -.BR sysconf (3). -.P -When a child process is created via -.BR fork (2), -it inherits copies of its parent's registrations. -Upon a successful call to one of the -.BR exec (3) -functions, -all registrations are removed. -.SH RETURN VALUE -The -.BR atexit () -function returns the value 0 if successful; otherwise -it returns a nonzero value. -.SH ATTRIBUTES -For an explanation of the terms used in this section, see -.BR attributes (7). -.TS -allbox; -lbx lb lb -l l l. -Interface Attribute Value -T{ -.na -.nh -.BR atexit () -T} Thread safety MT-Safe -.TE -.SH VERSIONS -POSIX.1 says that the result of calling -.\" POSIX.1-2001, POSIX.1-2008 -.BR exit (3) -more than once (i.e., calling -.BR exit (3) -within a function registered using -.BR atexit ()) -is undefined. -On some systems (but not Linux), this can result in an infinite recursion; -.\" This can happen on OpenBSD 4.2 for example, and is documented -.\" as occurring on FreeBSD as well. -.\" glibc does "the Right Thing" -- invocation of the remaining -.\" exit handlers carries on as normal. -portable programs should not invoke -.BR exit (3) -inside a function registered using -.BR atexit (). -.SH STANDARDS -C11, POSIX.1-2008. -.SH HISTORY -POSIX.1-2001, C89, C99, SVr4, 4.3BSD. -.SH NOTES -Functions registered using -.BR atexit () -(and -.BR on_exit (3)) -are not called if a process terminates abnormally because -of the delivery of a signal. -.P -If one of the registered functions calls -.BR _exit (2), -then any remaining functions are not invoked, -and the other process termination steps performed by -.BR exit (3) -are not performed. -.P -The -.BR atexit () -and -.BR on_exit (3) -functions register functions on the same list: -at normal process termination, -the registered functions are invoked in reverse order -of their registration by these two functions. -.P -According to POSIX.1, the result is undefined if -.BR longjmp (3) -is used to terminate execution of one of the functions registered using -.BR atexit (). -.\" In glibc, things seem to be handled okay -.SS Linux notes -Since glibc 2.2.3, -.BR atexit () -(and -.BR on_exit (3)) -can be used within a shared library to establish functions -that are called when the shared library is unloaded. -.SH EXAMPLES -.\" SRC BEGIN (atexit.c) -.EX -#include -#include -#include -\& -void -bye(void) -{ - printf("That was all, folks\en"); -} -\& -int -main(void) -{ - long a; - int i; -\& - a = sysconf(_SC_ATEXIT_MAX); - printf("ATEXIT_MAX = %ld\en", a); -\& - i = atexit(bye); - if (i != 0) { - fprintf(stderr, "cannot set exit function\en"); - exit(EXIT_FAILURE); - } -\& - exit(EXIT_SUCCESS); -} -.EE -.\" SRC END -.SH SEE ALSO -.BR _exit (2), -.BR dlopen (3), -.BR exit (3), -.BR on_exit (3) -- cgit v1.2.3