Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Jan 2013 10:50:07 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        Eitan Adler <eadler@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Xin LI <delphij@freebsd.org>, Bruce Evans <brde@optusnet.com.au>
Subject:   Re: svn commit: r245506 - head/bin/pwait
Message-ID:  <201301171050.07596.jhb@freebsd.org>
In-Reply-To: <CAF6rxg=RBJ280qe=ZAbPYBV-uXcjBYFTqCXP%2Bi_LzpMSi2aHkg@mail.gmail.com>
References:  <201301161815.r0GIFQPk007553@svn.freebsd.org> <20130117130740.I1066@besplex.bde.org> <CAF6rxg=RBJ280qe=ZAbPYBV-uXcjBYFTqCXP%2Bi_LzpMSi2aHkg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday, January 16, 2013 10:40:51 pm Eitan Adler wrote:
> On 16 January 2013 21:25, Bruce Evans <brde@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201301171050.07596.jhb>