> > > > > > server/main.c:578 > > > /* This is a hack until we finish the code so that it only > > reads > > > * the config file once and just operates on the tree already > > in > > > * memory. rbb > > > */ > > > > > > What's the status on this? > > > > Awaiting somebody to pick it up. > > > From where I tried to pick it up and left it on the floor a while ago. > Apologies. > > The problem involves the fact that there is no guarantee on ordering > in module configuration, IIRC.
Huh? It shouldn't. Currently, we process the configuration file twice at startup, which we need to continue to do. The problem right now is that the first time we process the configuration file, we read the configuration into the config tree. Then we dump the tree, and re-read the file. All we need to do is make sure that we keep the tree in memory and just walk it again. The only problem we have is that there are some directives that aren't stored in the tree, because we process them as soon as they are encountered. Those directives should just be stored in the config tree, and we should mark them so that they are skipped when we walk the tree. If we do that, than we will need to walk the tree three times on startup. Once to bootstrap the config, once to execute all of the directives that we are supposed to execute when reading the tree, and once to walk the rest of the tree. This is because we clear the config pool in between the two config file reads. Ryan
