Author: lgo Date: Sun Jul 24 22:29:48 2011 New Revision: 1150506 URL: http://svn.apache.org/viewvc?rev=1150506&view=rev Log: Fix file descriptor leakage in svnsync over ra_serf to ra_local. Limit the lifetime of the file related pool (delta...) to the lifetime of the commit editor pool.
This is a follow up to r1102690. * subversion/libsvn_ra_serf/replay.c (start_replay): create file_pool as child of dst_rev_pool... (svn_ra_serf__replay): ... not of the global session pool. Modified: subversion/trunk/subversion/libsvn_ra_serf/replay.c Modified: subversion/trunk/subversion/libsvn_ra_serf/replay.c URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/replay.c?rev=1150506&r1=1150505&r2=1150506&view=diff ============================================================================== --- subversion/trunk/subversion/libsvn_ra_serf/replay.c (original) +++ subversion/trunk/subversion/libsvn_ra_serf/replay.c Sun Jul 24 22:29:48 2011 @@ -194,6 +194,7 @@ start_replay(svn_ra_serf__xml_parser_t * /* Create a pool for the commit editor. */ ctx->dst_rev_pool = svn_pool_create(ctx->src_rev_pool); + ctx->file_pool = svn_pool_create(ctx->dst_rev_pool); /* ### it would be nice to have a proper scratch_pool. */ SVN_ERR(svn_ra_serf__select_revprops(&ctx->props, @@ -650,7 +651,6 @@ svn_ra_serf__replay(svn_ra_session_t *ra replay_ctx = apr_pcalloc(pool, sizeof(*replay_ctx)); replay_ctx->src_rev_pool = pool; - replay_ctx->file_pool = svn_pool_create(pool); replay_ctx->editor = editor; replay_ctx->editor_baton = edit_baton; replay_ctx->done = FALSE;