You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by hw...@apache.org on 2011/03/08 21:50:26 UTC
svn commit: r1079531 - /subversion/trunk/subversion/libsvn_subr/sqlite.c
Author: hwright
Date: Tue Mar 8 20:50:26 2011
New Revision: 1079531
URL: http://svn.apache.org/viewvc?rev=1079531&view=rev
Log:
More followup to r1079070. When rolling back a SAVEPOINT, we must also
RELEASE the savepoint, so as to avoid holding the DB lock.
* subversion/libsvn_subr/sqlite.c
(svn_sqlite__with_lock): Release the savepoint, even in the error case.
Modified:
subversion/trunk/subversion/libsvn_subr/sqlite.c
Modified: subversion/trunk/subversion/libsvn_subr/sqlite.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/sqlite.c?rev=1079531&r1=1079530&r2=1079531&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/sqlite.c (original)
+++ subversion/trunk/subversion/libsvn_subr/sqlite.c Tue Mar 8 20:50:26 2011
@@ -1091,6 +1091,9 @@ svn_sqlite__with_lock(svn_sqlite__db_t *
err2 = svn_error_compose_create(exec_sql(db, buf), err2);
}
+ snprintf(buf, sizeof(buf), "RELEASE s%u", savepoint);
+ err2 = svn_error_compose_create(exec_sql(db, buf), err2);
+
return svn_error_return(svn_error_compose_create(err, err2));
}