D.J. Heap wrote:
> On 4/1/07, Branko Äibej <brane@xbc.nu> wrote:
> [snip]
>>
>> It would require a libsvn_fs initialization function that the all FS
>> users are required to call ... which requires a change of contract that
>> we can't enforce in 1.x. That's the main reason why the BDB pool init
>> and teardown code is so horribly convoluted. :\
>>
>
>
> Yeah...it looks like it's already 'encouraged' if not required,
> though, and then we do a 'best-effort' if we detect that it hasn't
> been called.
>
> Hmm, maybe there's a much simpler answer:
>
> Move the cache initting code from svn_fs_bdb__init to
> base_serialized_init where we already have the common_pool as a
> parameter.
>
> If my understanding is correct, svn_fs_bdb__init is used to init the
> whole module, and base_serialized_init is used to init an svn_fs_t.
> It seems like that is still early enough to init the cache, though,
> isn't it?
Nope ...
You need an open BDB environment before you can create an svn_fs_t, and
you need an environment cache before you can safely open an environment.
Why d'you think I had all the migraines when I wrote the initial version
of that cache? :)
-- Brane
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun Apr 1 23:46:11 2007