git: ee62fb2e1e14 - main - _Exit(3): document implementation
Konstantin Belousov
kib at FreeBSD.org
Sun Aug 8 19:51:31 UTC 2021
The branch main has been updated by kib:
URL: https://cgit.FreeBSD.org/src/commit/?id=ee62fb2e1e14eab35d4e4e92535bcac9fc91eeb8
commit ee62fb2e1e14eab35d4e4e92535bcac9fc91eeb8
Author: Konstantin Belousov <kib at FreeBSD.org>
AuthorDate: 2021-08-05 16:04:44 +0000
Commit: Konstantin Belousov <kib at FreeBSD.org>
CommitDate: 2021-08-08 19:39:46 +0000
_Exit(3): document implementation
Remove a useless note about unlinking temporary files, they are unlinked
in tmpfile(3) [1]. Add a note about __cxa_atexit().
Explain exactly what are the FreeBSD implementation differences between
exit() and _Exit().
Noted by: markj [1]
Reviewed by: emaste, markj
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
Differential revision: https://reviews.freebsd.org/D31425
---
lib/libc/stdlib/exit.3 | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/lib/libc/stdlib/exit.3 b/lib/libc/stdlib/exit.3
index 9c2b79b72956..ff7a67ffcb85 100644
--- a/lib/libc/stdlib/exit.3
+++ b/lib/libc/stdlib/exit.3
@@ -32,7 +32,7 @@
.\" @(#)exit.3 8.1 (Berkeley) 6/4/93
.\" $FreeBSD$
.\"
-.Dd March 22, 2020
+.Dd August 5, 2021
.Dt EXIT 3
.Os
.Sh NAME
@@ -58,17 +58,17 @@ Before termination,
performs the following functions in the order listed:
.Bl -enum -offset indent
.It
-Call the functions registered with the
+Call all functions registered with the
+.Xr __cxa_atexit 3
+function
+(which are typically destructors from the loaded dynamic objects),
+and the functions registered with the
.Xr atexit 3
function, in the reverse order of their registration.
.It
Flush all open output streams.
.It
Close all open streams.
-.It
-Unlink all files created with the
-.Xr tmpfile 3
-function.
.El
.Pp
The
@@ -76,6 +76,14 @@ The
function terminates without calling the functions registered with the
.Xr atexit 3
function, and may or may not perform the other actions listed.
+The
+.Fx
+implementation of the
+.Fn _Exit
+function does not call destructors registered with
+.Xr __cxa_atexit 3,
+does not flush buffers, and does not close streams.
+.Pp
Both functions make the low-order eight bits of the
.Fa status
argument available to a parent process which has called a
More information about the dev-commits-src-main
mailing list