svn commit: r245506 - head/bin/pwait

John Baldwin jhb at freebsd.org
Thu Jan 17 18:40:53 UTC 2013


On Wednesday, January 16, 2013 10:40:51 pm Eitan Adler wrote:
> On 16 January 2013 21:25, Bruce Evans <brde at optusnet.com.au> wrote:
> > This uses the sysexits mistake.  style(9) was fixed to not give an example
> > of this mistake.  Before this, sysexits was used a whole once in pwait(1)
> > (for EX_USAGE) in usage().  EX_USAGE happens to be 64.  As usual when the
> > mistake is used, this is useless for humans (the usage message gives more
> > info) and unusable for programs, especially since it is undocmented
> > (pwait(1)'s man page just says ">0 if an error occurs".  It doesn't even
> > use '.Std' for this, but hard-codes it.
> 
> IMHO using sysexits gives more signal than using a binary 0 or 1.  It
> is a mistake to have changed style(9) to avoid using sysexits.
> Instead the man page should detail the specific error that occurs
> directly, or by reference to sysexit.

Eh, I think bde@ has quite a bit more experience with this than you.  
<sysexits.h> is not part of POSIX or any other standard.  It's comments 
reference delivermail (the predecessor to sendmail).  Looking at its history, 
it has never been changed in FreeBSD, and it's history in CSRG is rather 
spartan and mostly tied to delivermail/sendmail:

http://svnweb.freebsd.org/csrg/include/sysexits.h?view=log

In practice it's list of error value is limited and has not grown to handle 
new errors in over two decades (as opposed to, say, the list of errnos).  
OTOH, it seems the history section in sysexits(3) is slightly off as the CSRG 
history suggests it was present in at least 4.2BSD.

-- 
John Baldwin


More information about the svn-src-head mailing list