You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "Ralf S. Engelschall" <rs...@engelschall.com> on 1998/04/27 16:50:43 UTC

Module list confusion (HELP!)

While trying to understand the module activation logic for my
DSO-module-execution-order-patch I'm now totally confused. Please guys with
knowledge of the past help me!

1. Configure parses %Module and Module lines and generates modules.c with two
   lists: ap_prelinked_modules (shows linked modules) and ap_preloaded_modules
   (shows modules which are activated; all others in ap_prelinked_modules but
   not in ap_preloaded_modules can be activated via AddModule in httpd.conf).
   But it does it as following:

   - ``%Module'' leads to an entry in ap_preloaded_modules

   - ``Module''  leads to an entry in ap_preloaded_modules
                               and in ap_prelinked_modules

   Although the documentation Configuration.tmpl says: 
   
   # Optional module selection lines, distinguished by having `%Module'
   # at the front.  These specify a module that is to be compiled in (but
   # not enabled).  The AddModule directive can be used to enable such a
   # module.  By default no such modules are defined.

   Either I'm totally stupid from hacking or the generation is wrong!
   Correct would be IMHO:

   - ``%Module'' leads to an entry in ap_prelinked_modules

   - ``Module''  leads to an entry in ap_prelinked_modules
                               and in ap_preloaded_modules

   Comments?????

2. The http_config.c:ap_setup_prelinked_modules() function
   initialises the chained list of active modules from 
   ap_prelinked_modules. This is bogus again IMHO, because
   the active modules are those in ap_preloaded_modules.

   Comments?????

3. The http_config.c:ap_add_named_module() function which is
   used from the AddModule (runtime, not config time) command
   searches the module in ap_preloaded_modules. This is bogus again IMHO,
   because AddModule is for activating modules which are not activated, i.e.
   it has to search ap_prelinked_modules.

   Comments?????

The interesting point is that the above two points made no difference and no
problems in the past where the %Module syntax was totally forgotten and DSO
mechanism didn't exist.  But at least to get correct module lists for the DSO
situation we have to make sure this is correct.

                                       Ralf S. Engelschall
                                       rse@engelschall.com
                                       www.engelschall.com

Re: Module list confusion (HELP!)

Posted by Ben Laurie <be...@algroup.co.uk>.
Ralf S. Engelschall wrote:
> 
> While trying to understand the module activation logic for my
> DSO-module-execution-order-patch I'm now totally confused. Please guys with
> knowledge of the past help me!
> 
> 1. Configure parses %Module and Module lines and generates modules.c with two
>    lists: ap_prelinked_modules (shows linked modules) and ap_preloaded_modules
>    (shows modules which are activated; all others in ap_prelinked_modules but
>    not in ap_preloaded_modules can be activated via AddModule in httpd.conf).
>    But it does it as following:
> 
>    - ``%Module'' leads to an entry in ap_preloaded_modules
> 
>    - ``Module''  leads to an entry in ap_preloaded_modules
>                                and in ap_prelinked_modules
> 
>    Although the documentation Configuration.tmpl says:
> 
>    # Optional module selection lines, distinguished by having `%Module'
>    # at the front.  These specify a module that is to be compiled in (but
>    # not enabled).  The AddModule directive can be used to enable such a
>    # module.  By default no such modules are defined.
> 
>    Either I'm totally stupid from hacking or the generation is wrong!
>    Correct would be IMHO:
> 
>    - ``%Module'' leads to an entry in ap_prelinked_modules
> 
>    - ``Module''  leads to an entry in ap_prelinked_modules
>                                and in ap_preloaded_modules
> 
>    Comments?????
> 
> 2. The http_config.c:ap_setup_prelinked_modules() function
>    initialises the chained list of active modules from
>    ap_prelinked_modules. This is bogus again IMHO, because
>    the active modules are those in ap_preloaded_modules.
> 
>    Comments?????
> 
> 3. The http_config.c:ap_add_named_module() function which is
>    used from the AddModule (runtime, not config time) command
>    searches the module in ap_preloaded_modules. This is bogus again IMHO,
>    because AddModule is for activating modules which are not activated, i.e.
>    it has to search ap_prelinked_modules.
> 
>    Comments?????
> 
> The interesting point is that the above two points made no difference and no
> problems in the past where the %Module syntax was totally forgotten and DSO
> mechanism didn't exist.  But at least to get correct module lists for the DSO
> situation we have to make sure this is correct.

It seems to me that if you assume that the behaviour you describe as
being current in 1 is, in fact, correct, then 2 and 3 are also already
correct. So, the problem seems to be simply that you don't like the
names of the two lists. Or have I missed something?

Cheers,

Ben.

-- 
Ben Laurie            |Phone: +44 (181) 735 0686|  Apache Group member
Freelance Consultant  |Fax:   +44 (181) 735 0689|http://www.apache.org
and Technical Director|Email: ben@algroup.co.uk |
A.L. Digital Ltd,     |Apache-SSL author    http://www.apache-ssl.org/
London, England.      |"Apache: TDG" http://www.ora.com/catalog/apache