It looks like that's the way to do it :

http://modules.apache.org/doc/API.html#per-dir
http://www.apachetutor.org/dev/config

But the memory management seems very mysterious to me here... I can't
find anything that looks like a destructor for the py_config structure
!

Regards,
Nicolas

2005/6/24, Jim Gallacher <[EMAIL PROTECTED]>:
> Anybody had a chance to look at this yet?
> 
> I'm kind of suspicous of python_merge_config in mod_python.c. It gets
> called once for every request, and calls apr_pcalloc which I assume
> allocates some memory from the pool.
> 
>      py_config *merged_conf =
>          (py_config *) apr_pcalloc(p, sizeof(py_config));
> 
> I don't see where or how this memory gets freed. I've taken a look at
> the apache src code but get lost pretty quick.
> 
> Regards,
> Jim
> 
> 
> Jim Gallacher (JIRA) wrote:
> > PythonOption directive causes memory leak
> > -----------------------------------------
> >
> >          Key: MODPYTHON-60
> >          URL: http://issues.apache.org/jira/browse/MODPYTHON-60
> >      Project: mod_python
> >         Type: Bug
> >   Components: core
> >     Versions: 3.1.4, 3.1.3, 3.2.0
> >  Environment: Linux
> >     Reporter: Jim Gallacher
> >     Priority: Critical
> >
> >
> > This was previously reported on the mod_python mailing list. See 
> > http://www.modpython.org/pipermail/mod_python/2004-April/015395.html
> >
> > A memory leak results when there is a PythonOption directive in the apache 
> > config file. Leak occurs when PythonOption is in either <VirtualHost>  or 
> > <Directory> section.
> >
> > For each request, approx 25 bytes of memory is leaked per PythonOption 
> > directive.
> >
> > Methodolgy (using top to gauge memory usage, 100,000 requests per test 
> > case):
> >
> > def handler(req):
> >     req.content_type = 'text/plain'
> >     req.write('PythonOption test\n')
> >     return apache.OK
> >
> > 1. No PythonOption directives:
> >     1.4 % MEM
> >
> > 2. 50 PythonOption directives:
> >     11.3% MEM
> >
> > 3. 100 PythonOption directives:
> >      25.4 % MEM
> >
> >
> > I know 50 or 100 PythonOptions is not likely in a production system, but it 
> > clearly demonstrate the leak.
> >
> >
> >
> 
>

Reply via email to