]> code.delx.au - gnu-emacs/blob - admin/notes/exit-value
Merge from emacs-24; up to 2014-06-29T18:32:35Z!michael.albinus@gmx.de
[gnu-emacs] / admin / notes / exit-value
1 ttn 2004-05-09
2
3 The exit value of a program returning to the shell on unixoid systems
4 is typically 0 for success, and non-0 (such as 1) for failure. This is
5 not always the case on other systems.
6
7 From the point of view of the program stdlib.h provides macros
8 `EXIT_SUCCESS' and `EXIT_FAILURE' that should DTRT. N.B. The
9 numerical values of these macros DO NOT need to fulfill the exit value
10 requirements 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
19 Values aside from EXIT_SUCCESS and EXIT_FAILURE are tricky, but can be
20 used to indicate finer gradations of failure. If this is the only
21 information available to the caller, clamping such values to
22 EXIT_FAILURE loses information. If there are other ways to indicate
23 the problem to the caller (such as a message to stderr) it may be ok
24 to clamp. In all cases, it is the relationship between the program
25 and its caller that must be examined.
26
27 [Insert ZAMM quote here.] <-- I presume this refers to ``Zen and the
28 Art of Motorcycle Maintenance'' - Reuben Thomas <rrt@sc3d.org>.