[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: apr pools & memory leaks

From: Ben Collins-Sussman <sussman_at_red-bean.com>
Date: Thu, 2 Oct 2008 08:47:01 -0500

On Thu, Oct 2, 2008 at 2:44 AM, Mladen Turk <mturk_at_apache.org> wrote:
> Ben Collins-Sussman wrote:
>> Our solution:
>> Over at Google, we simply hacked APR to *never* hold on to blocks for
>> recycling. Essentially, this makes apr_pool_destroy() always free()
>> the block, and makes apr_pool_create() always call malloc() malloc.
>> Poof, all the memory leak went away instantly.
> Why not creating allocator for each of those subpools.
> On pool_destroy it'll destroy allocator and call free()
> consuming the global pool only for allocating subpools
> which are constant in size, thus no fragmentation can
> occur.

The subversion libraries wrap all apr_pool_create and apr_pool_destroy
calls in svn_pool_create and svn_pool_destroy functions. I suppose we
could make every svn_pool_create call use a new allocator, but I think
a better solution is within APR itself -- perhaps a simple
compile-time option which triggers this behavior in apr_pool_create.

To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-10-02 15:47:23 CEST

This is an archived mail posted to the Subversion Dev mailing list.