On Fri, Mar 12, 2010 at 12:05:48AM +0000, Julian Foad wrote: > Stefan Sperling wrote: > > Right now, the tempfiles will be closed on pool cleanup. > > You mean "will be deleted on pool cleanup"?
Yes. > > > My idea was to specify svn_io_file_del_on_close instead in case > > tempfiles is not NULL. Which would mean that we should leave them > > open when returning to the caller. > > The caller can't (properly) close an open file unless you give the > caller the (open) file handle, not just the file name. Oh, right. > > But we can pick either or svn_io_file_del_on_pool_cleanup (depending > > on the result_pool) or svn_io_file_del_on_close. I don't really mind > > either way. > > > > Can you explain why you would want the files already closed? Just curious. > > If you're going to hand someone an "open file", that either means an > (open) handle to the file, or it means a filename of a file that some > OTHER code path has an open handle to. If the former, where is the file > pointer (beginning, end, undefined)? If the latter, what is the sharing > mode (can the caller also open the file)? > > In other words, it's just wierd. Either give the path of a (closed) > file, or give a stream (positioned at the beginning, ready to read > from). Fine. Either way would work for me. But who is responsible for cleaning up the temporary files? The caller of svn_client_patch() or a pool cleanup handler installed by svn_client_patch() at the result_pool provided by the caller? Stefan