> -----Original Message----- > From: Blair Zajac [mailto:bl...@orcaware.com] > Sent: zondag 24 juli 2011 16:09 > To: dev@subversion.apache.org > Cc: comm...@subversion.apache.org > Subject: Re: svn commit: r1150368 - in > /subversion/trunk/subversion/libsvn_client: commit.c commit_util.c > > > On Jul 24, 2011, at 6:50 AM, rhuij...@apache.org wrote: > > > Author: rhuijben > > Date: Sun Jul 24 13:50:44 2011 > > New Revision: 1150368 > > > > URL: http://svn.apache.org/viewvc?rev=1150368&view=rev > > Log: > > Clear iterpools in two error conditions during commit to avoid deleting files > > with open handles when aborting fs transactions. > > > > The txdelta part of this patch looks like a small regression introduced by > > switching from subpools to dual pool handling. > > > > * subversion/libsvn_client/commit.c > > (svn_client_commit5): Clear iterpool before aborting the edit to flush the > > most commonly passed scratch pool to the commit processing. This to > avoid > > possible similar problems as that caught in svn_client__do_commit. > > > > * subversion/libsvn_client/commit_util.c > > (svn_client__do_commit): Clear iterpool when > svn_wc_transmit_text_deltas3 > > fails. The txdelta infrastructure doesn't have a well defined abort > > procedure so the current implementations rely on pool cleanup. > > But when iterpool isn't cleared here we call the editor's abort before > > this cleanup runs. > > Do you mean destroy here, as that's what the commit does?
The first step of a destroy is a clear and it is really the clearing that matters here. (I think the first clear should be a destroy, but I think the second one is correct). Bert