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 1997/09/13 04:16:31 UTC

Re: AddModule doesn't work correctly (fwd)

Makes good sense.


> I think I'd like to see DYNAMIC_MODULE_LIMIT default to 0 if it's
> otherwise undefiend, and mod_dld, mod_dll or whatever they're called have
> Configure time rules added to them to bump DYNAMIC_MODULE_LIMIT to
> whatever is needed.
> 
> Or I'll just add -DDYNAMIC_MODULE_LIMIT=0 to my performance page :)
> 
> Dean
> 
> On Thu, 11 Sep 1997, Alexei Kosut wrote:
> 
> > On Thu, 11 Sep 1997, Dean Gaudet wrote:
> > 
> > Oh, and by the way, Xavier.. hope you don't mind being cc-ed on these
> > messages; our development list generates a lot of traffic, as you can
> > imagine, even on just one issue.
> > 
> > > > When <Directory> is called, a per-dir config will be created, using
> > > > create_default_per_dir_config(), which creates enough space for
> > > > total_modules + DYNAMIC_MODULE_LIMIT. So there's plenty of room for the
> > > > new module.
> > > 
> > > Nope:
> > > 
> > >     void *new_dir_conf = create_per_dir_config (cmd->pool);
> > > 
> > > which calls create_empty_config which only uses total_modules.  (Which
> > > breaks the rest of your logic :)
> > 
> > Ergh. Okay, so you're right. Why are you calling AddModule (or
> > LoadModule) anywhere but at the top of httpd.conf, anyway? That's where
> > it should be - that's where it worked when I tested all this stuff last
> > month :)
> > 
> > Maybe this will help. Actually, add_module should test to make sure
> > DYNAMIC_MODULE_LIMIT isn't being exceeded, too:
> > 
> > Index: http_config.c
> > ===================================================================
> > RCS file: /export/home/cvs/apachen/src/main/http_config.c,v
> > retrieving revision 1.78
> > diff -u -r1.78 http_config.c
> > --- http_config.c	1997/08/31 21:28:49	1.78
> > +++ http_config.c	1997/09/11 22:23:55
> > @@ -117,7 +117,7 @@
> >  void *
> >  create_empty_config (pool *p)
> >  {
> > -   void **conf_vector = (void **)pcalloc(p, sizeof(void*) * total_modules);
> > +   void **conf_vector = (void **)pcalloc(p, sizeof(void*) * total_modules+DYNAMIC_MODULE_LIMIT);
> >     return (void *)conf_vector;
> >  }
> >  
> > 
> > 
> > -- Alexei Kosut <ak...@organic.com>
> > 
> >