apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mo DeJong <mdej...@cygnus.com>
Subject Re: cvs commit: apr/network_io/unix sendrecv.c
Date Sun, 07 Jan 2001 01:11:24 GMT
On Sat, 6 Jan 2001 rbb@covalent.net wrote:

> 
> > >   We don't actually use os_cork or os_uncork on FreeBSD, so we shouldn't
> > >   define them.  This removes some warnings.
> > >...
> > >   --- sendrecv.c	2001/01/04 22:02:34	1.55
> > >   +++ sendrecv.c	2001/01/07 00:00:07	1.56
> > >   @@ -198,7 +198,7 @@
> > >     * need to move these to the top...
> > >     */
> > >    
> > >   -#if APR_HAVE_CORKABLE_TCP
> > >   +#if APR_HAVE_CORKABLE_TCP && !defined(__FreeBSD__)
> > >    
> > >    /* TCP_CORK & TCP_NOPUSH keep us from sending partial frames when we
> > >     * shouldn't. They are however, mutually exclusive with TCP_NODELAY  
> > 
> > I don't understand this. Why don't we just /not/ define
> > APR_HAVE_CORKABLE_TCP on the FreeBSD boxes? (in the ./configure script) That
> > seems more appropriate than adding platform-specific checks into the code.
> 
> Both methods do the same thing.  I decided to put the checks in the code,
> because I am assuming that at some point we will actually add support for
> os_cork and os_uncork to the code.

If they do the same thing, would it not be better to put the check
for __FreeBSD__ in the autoconf macro that sets APR_HAVE_CORKABLE_TCP?

The whole point of using #ifdef HAVE_XXX style macros is to
avoid checks exactly like defined(__FreeBSD__). You want
feature tests in your code, not OS tests.

Mo DeJong
Red Hat Inc

Mime
View raw message