Re: [COMMITTERS] pgsql: Add comments about why errno is set to zero. - Mailing list pgsql-hackers

Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > Should I just change them all to:
> 
> >     errno = 0;  /* avoid checking result for failure */
> 
> No, that's still a completely inaccurate description of the reason
> for having the statement.
> 
> > or should I add a macro to c.h as:
> 
> >     /* Sometimes we need to clear errno so we can check errno
> >      * without having to check for a failure value from the function
> >      * call.
> >      */    
> >     #define CLEAR_ERRNO \\
> >     do { \
> >         errno = 0; \\
> >     while (0);
> 
> I vote "neither".  Anyone who doesn't understand what this is for will
> need to go read the C library man pages for a bit anyway.  Nor do I find
> "CLEAR_ERRNO" an improvement over "errno = 0".

Well, there seems to be enough confusion, even in this email list, that
identifying _why_ errno is being cleared is a good idea.

I modified it to:
       errno = 0;  /* avoid having to check the result for failure */

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [COMMITTERS] pgsql: Add comments about why errno is set to zero.
Next
From: "Pollard, Mike"
Date:
Subject: Re: generalizing the planner knobs