Tom Lane wrote:
> "Marc G. Fournier" <[EMAIL PROTECTED]> writes:
> > Why?  I don't think we are able to run 'embedded' now as it is, so its not 
> > like we're dealign with system with small disk spaces :)  how much bigger 
> > would adding that exit() make the binary?
> 
> It's not only the exit(), as the elevel parameter isn't always a
> constant.  The proposed patch would at a minimum expose us to
> double-evaluation risks.  I kinda doubt there are any cases where an
> elevel parameter expression has side-effects, so that objection may be
> mostly hypothetical, but nonetheless we are talking about more than just
> wasting a few bytes.  It's not impossible that the patch would introduce
> outright bugs.  Consider something like
> 
>       /* ENOENT is expected, anything else is not */
>       elog(errno == ENOENT ? DEBUG : ERROR, ...)
> 
> By the time control comes back from elog, errno would likely be
> different, and so this would result in an unexpected exit() call
> if the patch is in place.  I'd be the first to call the above poor
> coding, but it wouldn't be a bug ... unless the errno is rechecked.
> 
> It's been asserted that Coverity can be taught to understand about
> elog/ereport without this sort of hack, so I'd rather take that tack.

Agreed.  The idea of modifying our binary in any way to help a sanity
tool not complain is totally backwards.

-- 
  Bruce Momjian   http://candle.pha.pa.us
  SRA OSS, Inc.   http://www.sraoss.com

  + If your life is a hard drive, Christ can be your backup. +

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to