[ Moving to dev@ since earlier replies in the thread moved there.
Please un-Cc users@ from replies. ]
Uroš Jovanović wrote on Tue, 08 Sep 2020 11:31 +0200:
> Hi Daniel,
> Not sure what are "relevant pools", I am not really too familiar with SVN :)
The C API manages lifetime of various resources — primarily memory, but
also file handles — via the apr_pool_t abstraction. Nearly every API
function takes at least one pool parameter.
Given that you mentioned closing the TortoiseSVN window is a valid
workaround for that version of the issue, I guess the file handle would
be closed once the pools passed to the checkout API are
cleared/destroyed, without requiring the process to be exited or
low-level system calls to be resorted to.
However, I don't know what the SharpSvn equivalent of
clearing/destroying a pool or destroying a client context is. That'd
be a question for the SharpSvn maintainers. (SharpSvn is a third party
project, not part of the core Subversion project.)
> Best regards,
> On Tue, Sep 8, 2020 at 12:51 AM Daniel Shahaf <d.s_at_daniel.shahaf.name>
> > Uroš Jovanović wrote on Mon, 07 Sep 2020 19:25 +0200:
> > > when using SharpSvn in context of a larger
> > > application, this would mean the user needs to close the entire
> > application
> > > because one unmanaged file handle was left alive.
> > Have you tried clearing the relevant pools?
> > Could you help debugging this? (E.g., write a reproduction recipe or
> > a test case or track down where in the code the file gets opened.)
> > Cheers,
> > Daniel
Received on 2020-09-09 19:11:01 CEST