httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From r..@hyperreal.org
Subject cvs commit: apache-1.3/src README.DSO
Date Thu, 16 Apr 1998 06:44:46 GMT
rse         98/04/15 23:44:46

  Modified:    .        INSTALL
               src      README.DSO
  Log:
  Make sure the user is notified about the possible side-effects LoadModule can
  have because of the different execution order of modules.
  
  Revision  Changes    Path
  1.12      +3 -1      apache-1.3/INSTALL
  
  Index: INSTALL
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/INSTALL,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- INSTALL	1998/04/15 06:51:27	1.11
  +++ INSTALL	1998/04/16 06:44:44	1.12
  @@ -94,7 +94,9 @@
           installed from which Apache can guess the options.
   
           For more in-depth information about DSO support in Apache 1.3 please
  -        read the file src/README.DSO.
  +        read the file src/README.DSO carefully. Especially the section
  +        entitled "Advantages & Disadvantages" because using the DSO mechanism
  +        can have strange side-effects if you are not carefully. BE WARNED!
   
     3. Configuring the source tree
        ---------------------------
  
  
  
  1.4       +21 -0     apache-1.3/src/README.DSO
  
  Index: README.DSO
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/README.DSO,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- README.DSO	1998/04/14 10:51:39	1.3
  +++ README.DSO	1998/04/16 06:44:45	1.4
  @@ -264,6 +264,27 @@
        complicated assembler tricks for relative addressing which are not
        necessarily as fast as absolute addressing.
   
  +   - As of Apache 1.3 the in-core list of active modules is not priorized.
  +     Instead it is just the list of statically linked modules in reverse order
  +     as found in the src/Configuration* file (the list is constructed by
  +     adding modules to the top, i.e. later in the config means earlier in the
  +     list and thus results in higher priority). But DSO-based modules are
  +     added to this in-core list of modules under run-time _after_ the
  +     statically linked modules were already added. They are added again in
  +     reverse order, i.e. each `LoadModule' command inserts the module again at
  +     the top of the list. But because the list is not priorized the two parts
  +     (statically linked modules and run-time loaded modules) are _NEVER_
  +     merged. They are just connected together but not sorted as a whole.
  +     
  +     In other words: When a module is compiled as a DSO it automatically
  +     results in a higher priority than any statically compiled modules. This
  +     can have strange side-effects because of different execution order. As a
  +     consequence the rule of thumb is this: Either compile all modules
  +     statically or all modules as DSO (--enable-shared=max) when you want to
  +     avoid side-effects. And only compile just a subset of modules as DSO when
  +     you are sure the different execution order has no side-effects for your
  +     configuration. BE WARNED!
  +
      - Because DSO modules cannot be linked against other DSO-based libraries
        (ld -lfoo) you cannot use the DSO mechanism for all types of modules. Or
        in other words, modules compiled as DSO files are restricted to only use
  
  
  

Mime
View raw message