Stefan Sperling <s...@elego.de> writes: > Hmmm. Does this help? The authz_tests pass with it. > > Index: subversion/mod_authz_svn/mod_authz_svn.c > =================================================================== > --- subversion/mod_authz_svn/mod_authz_svn.c (revision 1825730) > +++ subversion/mod_authz_svn/mod_authz_svn.c (working copy) > @@ -395,10 +395,11 @@ resolve_repos_relative_url(const char **path, cons > } > > /* > - * Get the, possibly cached, svn_authz_t for this request. > + * Get the svn_authz_t for this request. > */ > static svn_authz_t * > get_access_conf(request_rec *r, authz_svn_config_rec *conf, > + apr_pool_t *result_pool, > apr_pool_t *scratch_pool) > { > const char *access_file; > @@ -467,7 +468,7 @@ get_access_conf(request_rec *r, authz_svn_config_r > svn_err = svn_repos_authz_read3(&access_conf, > access_file, groups_file, > TRUE, NULL, > - r->connection->pool, scratch_pool); > + result_pool, scratch_pool); > > if (svn_err) > { > @@ -687,7 +688,7 @@ req_check_access(request_rec *r, > } > > /* Retrieve/cache authorization file */ > - access_conf = get_access_conf(r,conf, r->pool); > + access_conf = get_access_conf(r,conf, r->pool, r->pool); > if (access_conf == NULL) > return DECLINED; > > @@ -804,7 +805,7 @@ subreq_bypass2(request_rec *r, > } > > /* Retrieve authorization file */ > - access_conf = get_access_conf(r, conf, scratch_pool); > + access_conf = get_access_conf(r, conf, scratch_pool, scratch_pool); > if (access_conf == NULL) > return HTTP_FORBIDDEN;
Yes, that solves the memory use problem. There is still a time penalty: Your patch: $ time svn log -q http://localhost:8888/repo/asf/subversion > /dev/null real 0m7.695s user 0m0.429s sys 0m0.283s apache httpd cpu: 7.30 Revert r1779188,1778923 $ time svn log -q http://localhost:8888/repo/asf/subversion > /dev/null real 0m5.102s user 0m0.460s sys 0m0.250s apache httpd cpu: 5.10 -- Philip