Linux routing fun

Thomas Charron twaffle at gmail.com
Tue Oct 9 16:09:57 EDT 2007


On 10/9/07, Ben Scott <dragonhawk at gmail.com> wrote:
> On 10/9/07, Thomas Charron <twaffle at gmail.com> wrote:
> > +                apr_socket_bind(*newsock, conf->bind_addr) != APR_SUCCESS) {
>   Right, I did RTFS.  But it looks like that is done in the context of
> a "worker".  For example:
>
> +        if (worker->bind_addr != NULL &&
> +                apr_socket_bind(newsock, worker->bind_addr) != APR_SUCCESS) {
>   I don't what a "worker" is, but it doesn't sound like the same thing
> as a "virtual host" to me.  It sounds more like a worker thread.  And
> worker threads are not, as far as I know, specific to any given
> virtual host.  So that would imply it's a global option, and the code
> is just setting up the binding for each worker process (for when that
> process is spawned).

  The options are copied in while it's being used.

>   I could be way off base here, of course, but do you know what a
> "worker" is?  Or have you uses this in the manner described, and so
> can say from experience it works this way?  (Arguably the better
> situation anyway, since nothing beats practical experience of the
> "Yes, I've done this, and it works" variety.)

  I've used that patch before, but honestly, I was only changing the
source address globally to be different then what Apache was listening
on.

> >  It's configuration is local to the definition, so if in a
> > VirtualHost, it will use a different one for each VirtualHost.
>   What part of the code distinguishes a global option for an option
> which can be used inside a VirtualHost?

  It's overridden for any local overrides, which VirtualHosts do.

>   As I said, I'm not at all familiar with Apache internals, but
> unexplained proclamations aren't changing that.  :-)

  :-P  Not a problem.

  In the end, it may be a moot point, because it doesn't appear to
actually be present in 2.x currently.  :-(

-- 
-- Thomas


More information about the gnhlug-discuss mailing list