RFC: Change to sys_errlist

Wes Peters wes at softweyr.com
Thu Jul 10 22:43:34 PDT 2003


On Thursday 10 July 2003 01:21 pm, Matthew Emmerton wrote:
> On Sun, 6 Jul 2003, Terry Lambert wrote:
> > Matthew Emmerton wrote:
> > > This is a RFC on a change to sys_errlist for errno = 0.
> > >
> > > On Linux, if perror() or strerror() is called with errno = 0, the
> > > resulting string is "Success".
> > > On FreeBSD, the resulting string is "Unknown error: 0".
> > >
> > > I think that FreeBSD's output is unintentionally confusing, as
> > > errno = 0 implies success.
> > >
> > > The following patch will change the output to the Linux behaviour.
> > >
> > > I appreciate any comments.
> >
> > Actually, I ran into a situation on MacOS X the other day that had
> > a system call with a -1 return code with an errno == 0.
> >
> > I would personally like to distinguish this case, if only for the
> > purpose of catching kernel errors.  Saying "Success" when in fact
> > the system call is returning -1 is a bogus thing to do.
>
> Agreed.  I thought this over and read some specs and believe our way is
> the right way.

In point of fact, errno == 0 does NOT mean "Success", it means "WTF?".  0 
isn't a valid errno, so no meaning can be gleaned from errno == 0 any 
more than it could be gleaned from errno == 0xb00bface or errno == 
6.023e23.

-- 

        Where am I, and what am I doing in this handbasket?

Wes Peters                                               wes at softweyr.com



More information about the freebsd-hackers mailing list