aboutsummaryrefslogtreecommitdiffstats
path: root/admin/notes/exit-value
diff options
context:
space:
mode:
Diffstat (limited to 'admin/notes/exit-value')
-rw-r--r--admin/notes/exit-value28
1 files changed, 0 insertions, 28 deletions
diff --git a/admin/notes/exit-value b/admin/notes/exit-value
deleted file mode 100644
index 96337e4c8dd..00000000000
--- a/admin/notes/exit-value
+++ /dev/null
@@ -1,28 +0,0 @@
1ttn 2004-05-09
2
3The exit value of a program returning to the shell on unixoid systems
4is typically 0 for success, and non-0 (such as 1) for failure. This is
5not always the case on other systems.
6
7From the point of view of the program stdlib.h provides macros
8`EXIT_SUCCESS' and `EXIT_FAILURE' that should DTRT. N.B. The
9numerical values of these macros DO NOT need to fulfill the exit value
10requirements outlined in the first paragraph! That is the job of the
11`exit' function. Thus, this kind of construct shows misunderstanding:
12
13 #ifdef WEIRD_OS
14 exit (1);
15 #else
16 exit (0);
17 #endif
18
19Values aside from EXIT_SUCCESS and EXIT_FAILURE are tricky, but can be
20used to indicate finer gradations of failure. If this is the only
21information available to the caller, clamping such values to
22EXIT_FAILURE loses information. If there are other ways to indicate
23the problem to the caller (such as a message to stderr) it may be ok
24to clamp. In all cases, it is the relationship between the program
25and its caller that must be examined.
26
27[Insert ZAMM quote here.] <-- I presume this refers to ``Zen and the
28Art of Motorcycle Maintenance'' - Reuben Thomas <rrt@sc3d.org>.