In article <E11tXR5-000JOU-00@fanf.eng.demon.net> you wrote:
> "Ralf S. Engelschall" <rse@engelschall.com> wrote:
>>
>>But IMHO for Apache you also need _asynchronous_ resolving to make
>>sure the server processes are not blocked out a thread inside the
>>resolver library.
>
> I'm not convinced that Apache's architecture would allow it to benefit
> from an asynchronous resolver. What can a thread do while it's waiting
> for a DNS reply?
Not the same thread can do anything useful, but _OTHER_ threads in the
_SAME_ process can do anything in the meantime. Because if the resolver
is synchronous and non-preemptive threading is used, this blocks
the whole process. Sure, we can argue that we _require_ preemptive
threading, but at least Pthreads doesn't require this, of course. And
using an asynchronous resolver allows us to not having to require this.
>>Something like GNU adns, BIND's libares, etc. I think is needed
>>here...
>
> AFAIK the asynchronous resolver that comes with bind is called arlib
> (in the contrib tarball). "ares" is the MIT Project Athena resolver.
> ftp://athena-dist.mit.edu/pub/ATHENA/ares
Ops, sorry. Yes, I meant BIND's arlib. I confused the names.
Ralf S. Engelschall
rse@engelschall.com
www.engelschall.com
|