On Sat, Dec 28, 2013 at 4:35 PM, Bert Huijben <b...@qqmail.nl> wrote:
> While I assume this fixes a real problem... using the *global pool* is > actually introducing a memory leak. The "_global_pool" here is not global pool. In the Perl bindings, it's the - somewhat unfortunate - name given to to the C level variable in the generated wrapper for svn_foo(...., apr_pool_t pool) that receives the Perl level pool object. So it actually refers to whatever pool the caller of the wrapped function passes. If the caller passes undef on the Perl side - or simply leaves out the trailing argument - it will automagically use a truly global pool. That's probably where the name comes from. The commit actually plugs a memory leak: before the function always used an explicit global pool (in certain usecases), now it will use the one from the context, i.e. when this conversion function is called to convert a parameter of svn_foo(..., pool). Cheers, Roderich