Julian Foad wrote on Wed, Sep 14, 2011 at 16:07:19 +0100:
> Enable libsvn_client APIs to re-use a previous RA session instead of always
> opening a new connection.
> 
> Basically:
> 
>   - Declare an opaque "RA session cache" object in the public API. It holds
>     one open RA session per repository, for any number of repositories.
> 

Why per repository?  What about a client that runs 'svn update' on several
wc's of the same URL concurrently?

>   - Implement a private API for libsvn_client functions to use instead of
>     simply opening a new session. It re-uses a session from the cache, if
>     present, or opens a new connection if necessary.

As far as I can see, the "get a session from the cache" code assumes
that the cache is used by a single thread.  (Consider what happens if
one thread retrieves or uses a cached session while another retrieves
the same session from the cache.)  Will the cache be thread-safe?

Reply via email to