Doug,

Sorry to belabor a dull issue, but I'm not sure I'm getting my point across.

Most of the troubles I've run across in the mod_perl and libapreq code
have to do with attempts to allocate memory resources for buffers 
at runtime.  That's exactly what the BUFF API does, right?

What I'm seeing is that you are also resizing/reallocating these buffers
each time the code is called. For instance, the original 
get_client_block had this line in it:

> -    buffer = (char*)palloc(r->pool, bufsiz);

The one you just sent me has this line instead:

> +    SvGROW(buffer, bufsiz+1);

I'm not sure what SvGROW does, but if it involves a malloc
without freeing the old buffer, you've got the same problem as before.  
Each time the perl version of get_client_block is called, 
SvGROW will work it's majic on RAM, and perl won't give that RAM
back to the OS. 

Best.
-- 
Joe Schaefer
[EMAIL PROTECTED]

SunStar Systems, Inc.

Reply via email to