Author: brane
Date: Fri Feb 6 16:57:47 2015
New Revision: 1657899
URL: http://svn.apache.org/r1657899
Log:
On the reuse-ra-session branch: Reuse sessions in the MTCC implementation.
* subversion/libsvn_client/mtcc.c (svn_client__mtcc_commit):
Release the RA session before destroying the MTCC pool.
Modified:
subversion/branches/reuse-ra-session/BRANCH-README
subversion/branches/reuse-ra-session/subversion/libsvn_client/mtcc.c
Modified: subversion/branches/reuse-ra-session/BRANCH-README
URL:
http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/BRANCH-README?rev=1657899&r1=1657898&r2=1657899&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/BRANCH-README (original)
+++ subversion/branches/reuse-ra-session/BRANCH-README Fri Feb 6 16:57:47 2015
@@ -16,9 +16,9 @@ DONE:
- Add explicit session reuse throughout libsvn_client.
- Expire and close idle sessions after a given timeout.
- Limit the number of idle open sessions in the cache.
+- Add explicit session reuse in the MTCC implementation.
TODO:
-- Add explicit session reuse in the MTCC implementation.
- Add new RA method (svn_ra__ping?) to verify that a session
about to be reused is valid.
- Run performance comparisons between trunk and branch to prove that
Modified: subversion/branches/reuse-ra-session/subversion/libsvn_client/mtcc.c
URL:
http://svn.apache.org/viewvc/subversion/branches/reuse-ra-session/subversion/libsvn_client/mtcc.c?rev=1657899&r1=1657898&r2=1657899&view=diff
==============================================================================
--- subversion/branches/reuse-ra-session/subversion/libsvn_client/mtcc.c
(original)
+++ subversion/branches/reuse-ra-session/subversion/libsvn_client/mtcc.c Fri
Feb 6 16:57:47 2015
@@ -1423,6 +1423,8 @@ svn_client__mtcc_commit(apr_hash_t *revp
err = svn_error_compose_create(err,
editor->abort_edit(edit_baton,
scratch_pool));
+ if (!err)
+ SVN_ERR(svn_client__ra_session_release(mtcc->ctx, mtcc->ra_session));
svn_pool_destroy(mtcc->pool);
return svn_error_trace(err);