You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by br...@apache.org on 2013/08/19 02:39:56 UTC
svn commit: r1515249 -
/subversion/branches/1.8.x-svnsync-serf-memory/subversion/libsvn_ra_serf/replay.c
Author: breser
Date: Mon Aug 19 00:39:55 2013
New Revision: 1515249
URL: http://svn.apache.org/r1515249
Log:
ra_serf: Fix high memory usage running svnsync.
* subversion/libsvn_ra_serf/replay.c
(push_state): Use the file_pool for allocating file specific data.
Modified:
subversion/branches/1.8.x-svnsync-serf-memory/subversion/libsvn_ra_serf/replay.c
Modified: subversion/branches/1.8.x-svnsync-serf-memory/subversion/libsvn_ra_serf/replay.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x-svnsync-serf-memory/subversion/libsvn_ra_serf/replay.c?rev=1515249&r1=1515248&r2=1515249&view=diff
==============================================================================
--- subversion/branches/1.8.x-svnsync-serf-memory/subversion/libsvn_ra_serf/replay.c (original)
+++ subversion/branches/1.8.x-svnsync-serf-memory/subversion/libsvn_ra_serf/replay.c Mon Aug 19 00:39:55 2013
@@ -147,10 +147,16 @@ push_state(svn_ra_serf__xml_parser_t *pa
state == OPEN_FILE || state == ADD_FILE)
{
replay_info_t *info;
+ apr_pool_t *pool;
- info = apr_palloc(replay_ctx->dst_rev_pool, sizeof(*info));
+ if (state == OPEN_FILE || state == ADD_FILE)
+ pool = replay_ctx->file_pool;
+ else
+ pool = replay_ctx->dst_rev_pool;
- info->pool = replay_ctx->dst_rev_pool;
+ info = apr_palloc(pool, sizeof(*info));
+
+ info->pool = pool;
info->parent = parser->state->private;
info->baton = NULL;
info->stream = NULL;