apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Stein <gst...@lyra.org>
Subject Re: Compile-time vs. run-time checks
Date Mon, 23 Feb 2004 19:43:01 GMT
On Mon, Feb 23, 2004 at 01:33:31PM -0600, Scott Lamb wrote:
> I'm putting together a patch to use SO_(RCV|SND)TIMEO for 
> apr_socket_timeout where available; I expect I'll find it has better 
> performance on some platforms, as it would no longer require using 
> non-blocking IO and preceding every read() and write() with a select(). 
> (I intend to try benchmarking Apache on Darwin, where the system call 
> overhead seems to be quite high.)
> 
> On some older versions of platforms (Linux 2.2), these #defines exist 
> but do not work - it's not possible to set them. Can I assume that if 
> APR is built with a kernel in which it does work (Linux 2.4), it will 
> be run with one as well? Or should I include a runtime check for this 
> option?

Icky. I don't think it is really possible to make that assumption.
Thankfully, I also believe this is reasonably solved with a global
variable (i.e. race conditions around coming up with the same flag don't
apply :-), and the value certainly won't change over the process'
lifetime).

I would recommend a dynamic solution for now. We may be able to make that
compile-time for certain platforms, where we know "all" versions handle
the flag properly [when present].

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/

Mime
View raw message