Greg Stein <[email protected]> writes: > On Wed, Jun 6, 2012 at 1:26 PM, Greg Stein <[email protected]> wrote: >> On Wed, Jun 6, 2012 at 9:54 AM, <[email protected]> wrote: >>> Author: philip >>> Date: Wed Jun 6 13:54:58 2012 >>> New Revision: 1346894 >>> >>> URL: http://svn.apache.org/viewvc?rev=1346894&view=rev >>> Log: >>> * subversion/tests/libsvn_wc/utils.c >>> (create_repos_and_wc): Use a subpool to cleanup the temporary client >>> context. >> >> Woah! Where'd that come from? wc is NOT supposed to use the client >> library. That's the wrong ordering/encapsulation. :-( > > Oh. Whoops. Never mind me. TESTS/libsvn_wc .. heh.
It does indicate a problem with the API. The svn_wc__db_t that is contained in the wc/client context object holds on to wcroots and wc.db file descriptors after the working copy operations complete. The file descriptors in particular are a limited resource. It's not clear how a long-lived application is supposed to manage these wcroots/descriptors. Should the application be recycling context objects regularly? Should it use a context object per working copy? Or a context per high-level operation like update/commit? Perhaps holding onto the wcroots/descriptors is a mistake. Should Subversion be closing wcroots/descriptors before returning from each high-level operation? -- uberSVN: Apache Subversion Made Easy http://www.uberSVN.com

