commit 3449b18918ac83c6d85cc31b87a3afbfadfceeeb
parent a79e8ab44d667ef005e000dad03f60ae86742d31
Author: rsc <devnull@localhost>
Date: Tue, 14 Feb 2006 19:39:30 +0000
add exticode
Diffstat:
1 file changed, 17 insertions(+), 3 deletions(-)
diff --git a/man/man3/exits.3 b/man/man3/exits.3
@@ -1,6 +1,6 @@
.TH EXITS 3
.SH NAME
-exits, _exits, atexit, atexitdont, terminate \- terminate process, process cleanup
+exits, _exits, exitcode, atexit, atexitdont \- terminate process, process cleanup
.SH SYNOPSIS
.B #include <u.h>
.br
@@ -13,6 +13,9 @@ void _exits(char *msg)
void exits(char *msg)
.PP
.B
+int exitcode(char *msg)
+.PP
+.B
int atexit(void(*)(void))
.PP
.B
@@ -87,8 +90,19 @@ cancels a previous registration of an exit function.
.SH BUGS
Because of limitations of Unix, the exit status of a
process can only be an 8-bit integer.
-Exit status 0 is used for empty exit messages, and 1 for
-non-empty messages.
+.I Exits
+and
+.I _exits
+treat null or empty exit status as exit code 0
+and call
+.I exitcode
+to translate any other string into an exit code.
+By default, the library provides an
+.I exitcode
+that maps all messages to 1.
+Applications may find it useful to provide their own
+implementations of
+.I exitcode .
.PP
Exit codes 97 through 99 are used by the thread library to signal
internal synchronization errors between the main program