You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Blair Zajac <bl...@orcaware.com> on 2011/07/24 16:08:53 UTC
Re: svn commit: r1150368 - in /subversion/trunk/subversion/libsvn_client: commit.c commit_util.c
On Jul 24, 2011, at 6:50 AM, rhuijben@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?
Blair
RE: svn commit: r1150368 - in /subversion/trunk/subversion/libsvn_client: commit.c commit_util.c
Posted by Bert Huijben <be...@qqmail.nl>.
> -----Original Message-----
> From: Blair Zajac [mailto:blair@orcaware.com]
> Sent: zondag 24 juli 2011 16:09
> To: dev@subversion.apache.org
> Cc: commits@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, rhuijben@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
RE: svn commit: r1150368 - in /subversion/trunk/subversion/libsvn_client: commit.c commit_util.c
Posted by Bert Huijben <be...@qqmail.nl>.
> -----Original Message-----
> From: Blair Zajac [mailto:blair@orcaware.com]
> Sent: zondag 24 juli 2011 16:09
> To: dev@subversion.apache.org
> Cc: commits@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, rhuijben@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