emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/admin/notes/exit-value [emacs-unicode-2]


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/admin/notes/exit-value [emacs-unicode-2]
Date: Mon, 28 Jun 2004 03:34:26 -0400

Index: emacs/admin/notes/exit-value
diff -c /dev/null emacs/admin/notes/exit-value:1.2.2.1
*** /dev/null   Mon Jun 28 07:30:40 2004
--- emacs/admin/notes/exit-value        Mon Jun 28 07:29:27 2004
***************
*** 0 ****
--- 1,35 ----
+ ttn 2004-05-09
+ 
+ The exit value of a program returning to the shell on unixoid systems is
+ typically 0 for success, and non-0 (such as 1) for failure.  For vms it is
+ odd (1,3,5...) for success, even (0,2,4...) for failure.
+ 
+ This holds from the point of view of the "shell" (in quotes because vms has a
+ different dispatch model that is not explained further here).
+ 
+ From the point of view of the program, nowadays stdlib.h on both type of
+ systems provides macros `EXIT_SUCCESS' and `EXIT_FAILURE' that should DTRT.
+ 
+ NB: The numerical values of these macros DO NOT need to fulfill the the exit
+ value requirements outlined in the first paragraph!  That is the job of the
+ `exit' function.  Thus, this kind of construct shows misunderstanding:
+ 
+    #ifdef VMS
+       exit (1);
+    #else
+       exit (0);
+    #endif
+ 
+ Values aside from EXIT_SUCCESS and EXIT_FAILURE are tricky.
+ 
+ 
+ 
+ ttn 2004-05-12
+ 
+ Values aside from EXIT_SUCCESS and EXIT_FAILURE can be used to indicate
+ finer gradations of failure.  If this is the only information available
+ to the caller, clamping such values to EXIT_FAILURE loses information.
+ If there are other ways to indicate the problem to the caller (such as
+ a message to stderr) it may be ok to clamp.  In all cases, it is the
+ relationship between the program and its caller that must be examined.
+ [Insert ZAMM quote here.]




reply via email to

[Prev in Thread] Current Thread [Next in Thread]