You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Randy Terbush <ra...@zyzzyva.com> on 1996/07/22 23:26:05 UTC
Re: read_config()
Thanks Robert,
To expand on how I discovered it...
An invalid DocumentRoot in a VirtualHost directive will complain
twice. I was debugging this new recursive IncludeConf directive
that I brought up the other day and was sure it was my code...
> Why are there two calls to read_config()?
>
> As with the "multiple config files" question, this comes up often
> enough to merit inclusion in a FAQ someplace... on the other hand, it
> generally comes up in a slightly different form (the most common
> being, "why is my module's init routine called twice?").
>
> What's going on is that the server calls read_config():
>
> *) At startup, to determine whether it is running under inetd
> *) Every time it begins standalone operations, either on intial
> startup or on a signal-triggered restart.
>
> The second call could be avoided on initial entry to standalone_main(),
> of course --- but it would complicate the code a bit to do so. A more
> subtle point is that with that second call in place, it becomes much
> harder to write a module which can't handle a restart, since it has
> to handle the implicit restart on entry to standalone_main() in order
> to work at all.
>
> Since SIGHUP survival testing isn't necessarily the first (or
> fiftieth) thing on peoples' minds when they're writing these things, I
> suspect a lot of people wouldn't bother at all unless something came
> along to force the issue. Since this question is most often asked by
> people whose code, as it turns out, is failing because of the second
> call (and which therefore wouldn't, in fact, function correctly on a
> signal-triggered restart), this bit of fortuitous torture testing may
> in fact have improved at least some of the modules out there...
>
> rst