On Wed, Feb 11, 2009 at 02:16, Joe Lewis <[email protected]> wrote:
>
>
> I understand - you are using both directory AND server side configs.
> directory configs do not get created until a request. And a merge should
> never return the same structure, meaning you should get new configs. Even
> the directory configs don't get created until the request comes in. In the
> handler, try setting two distinct variables, one to the server side and one
> to the directory config, and you should definitely see a difference.
>
> Well done!
> Joe
>
Well, sort of. I think I can hack it to fix the problem now, but I still
don't understand why the problem is occurring. I don't actually have any
directory configs, they're all virtuat-host-level configs (unless those
qualify as directory configs?) When I output the results of my merge, I see
the server-merge occur, followed by the child_init, but the child_init does
not receive the results of server-merge. This is simplest to show with the
end of the output:
acfg and bcfg are the arguments to the merge calback. cfg is the result that
the merge callback returns
...
merge_server {acfg: 0x2b45d35e79d0 bcfg:0x2b45dc2385f0 cfg:
0x2b45dc26fff0}
merge_dir {acfg: 0x2b45d35e79e8 bcfg:0x2b45dc2385d8 cfg:
0x2b45dc270458}
child_init {pid: 2800 cfg:0x2b45d35e79d0 server:
0x2b45d355f968} <-- recieving the acfg from the merge_server, not the return
value of the merge_server
create new
handler {pid: 2800 cfg:0x2b45dc26fff0 server:
0x2b45dc2361b8} <-- recieving the return value of the merge_server
create new
Is this the way it is supposed to work?
-dave
[email protected]