Is it considered to be ok to not check the return code of close(2) in base?

Rodney W. Grimes freebsd-rwg at pdx.rh.CN85.dnsmgr.net
Mon Jan 1 19:15:27 UTC 2018


[ Charset UTF-8 unsupported, converting... ]
> On Mon, Jan 1, 2018 at 10:55 AM, Rodney W. Grimes <
> freebsd-rwg at pdx.rh.cn85.dnsmgr.net> wrote:
> 
> > > On Mon, Jan 01, 2018 at 08:52:57AM -0800, Rodney W. Grimes wrote:
> > > > > On Mon, Jan 01, 2018 at 04:14:33PM +0000, Poul-Henning Kamp wrote:
> > > > > > But this is bikeshedding at this point anyway.
> > > > >
> > > > > +1
> > > >
> > > > Bike shedding is good, people learn things from it.  I never knew that
> > > > assert was altered by NDEBUG for example, thanks for that enlightenment
> > >
> > > Um, does the FreeBSD man page not start like the Linux man page with
> > >
> > >        If  the  macro  NDEBUG  was  defined  at the moment <assert.h>
> > was last
> > >        included, the macro assert() generates no code, and hence does
> > nothing
> > >        at all.
> > >
> > > ?
> >
> > It further says that an assert() appeared in V6, and I bet that NDEBUG
> > didnt exist at that time.
> 
> 
> http://www.tuhs.org/cgi-bin/utree.pl?file=V7/usr/include/assert.h says by
> at least v7 it was there. The man page appears to be incorrect that it
> appeared in V6 unix, as I can find no file named *assert* in the two
> distributions available at TUHS, nor could grep turn up anything on assert
> apart from:
> 
> doc/c/c3:an assertion that when a construction of
> 
> So it was definitely in V7 (I'll fix the man page), and had NDEBUG from the
> start.

Please do not do that, so far I have found in a v6 pwb:
#define ASSERT(p)
#ifdef debug
#define ASSERT(p) if(!(p))botch("p");else
botch(s)
char *s;
{
        printf("assertion botched: %s\n",s);
        abort();
}
#endif

Which is more of how I rember it being, not the presence of NDEBUG
cleaning the code of asserts, but the lack of DEBUG.

The online manual pages for v6 are abismal compared to the printed
hard copies.  I have a set in storage, I'll retrieve them and see
what is there.

-- 
Rod Grimes                                                 rgrimes at freebsd.org


More information about the freebsd-hackers mailing list