Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Jun 2000 13:04:46 -0400
From:      "Bohne, Peter" <Peter.Bohne@hboc.com>
To:        'FengYue' <fengyue@bluerose.windmoon.nu>, "Bohne, Peter" <Peter.Bohne@hboc.com>
Cc:        "'andrew@ugh.net.au'" <andrew@ugh.net.au>, hackers@FreeBSD.ORG
Subject:   RE: libc_r/_read(), should the errno be reset to 0?
Message-ID:  <35BEC7ED0A15D21199F000805F6F6D6A01CB00E7@bldexc01ntms.clinicom.com>

next in thread | raw e-mail | index | archive | help
True enough.  That's the best advice.  However, your original post indicated
an expectation on your part that errno would be somehow automatically reset
to 0 before a system call, which is definitely *not* the case.  You have to
clear it - the kernel does not do it for you.

pete

> -----Original Message-----
> From: FengYue [mailto:fengyue@bluerose.windmoon.nu]
> Sent: Friday, June 23, 2000 11:08 AM
> To: Bohne, Peter
> Cc: 'andrew@ugh.net.au'; hackers@FreeBSD.ORG
> Subject: RE: libc_r/_read(), should the errno be reset to 0?
> 
> 
> 
> Wait, that's not going to do anything, the errno is set inside the
> _thread_sys_read().  But I agree with Andrew, why bother to check
> errno if read() returns no error.
> 
> On Fri, 23 Jun 2000, Bohne, Peter wrote:
> 
> > This means that *you* should set errno to 0 just before you 
> do the read
> > call.  At this point, you no longer care what it had been before.
> > --
> > pete
> > 
> > ====== pbohne at hboc dot com
> > Peter Bohne -- McKessonHBOC -- Louisville, CO
> > Work: 303-926-2218 -- Cell: 303-817-8312 -- Home Ofc: 970-586-9031
> > ====== "Very funny, Scottie.  Now beam down my clothes!"
> > 
> > 
> > 
> > > -----Original Message-----
> > > From: andrew@ugh.net.au [mailto:andrew@ugh.net.au]
> > > Sent: Friday, June 23, 2000 3:02 AM
> > > To: FengYue
> > > Cc: hackers@FreeBSD.ORG
> > > Subject: Re: libc_r/_read(), should the errno be reset to 0?
> > > 
> > > 
> > > 
> > > 
> > > On Fri, 23 Jun 2000, FengYue wrote:
> > > 
> > > > My question is, shouldn't it be reset to zero?
> > > 
> > > From intro(2):
> > > 
> > > Successful calls never set errno; once set, it remains until 
> > > another error
> > > occurs.  It should only be examined after an error.
> > > 
> > > Andrew
> > > 
> > > 
> > > 
> > > To Unsubscribe: send mail to majordomo@FreeBSD.org
> > > with "unsubscribe freebsd-hackers" in the body of the message
> > > 
> 
> 



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




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