FireBird/LibreOffice: fb_config/pkg-config, thread-safety, eager caching
Lionel Elie Mamane
lionel at mamane.lu
Tue Jul 23 05:24:18 PDT 2013
On Fri, Jul 19, 2013 at 08:35:07AM +0200, Andrzej J. R. Hunt wrote:
> On Fri, 2013-07-19 at 04:40 +0200, Lionel Elie Mamane wrote:
>> 2) This is a bit scary in the Debian package description of
>> Contrary to libfbclient, libfbembed is not thread-safe.
>> Taking a quick look at e.g. OResultSet::ensureDataAvailable,
>> it is mutexed, but (as far as I understand) with a *different*
>> mutex for each instance (for each object). So this does not keep
>> multiple ResultSets from making parallel calls to non-thread-safe
>> libfbembed from different threads.
> Yes, I'll probably have to have a mutex on the Connection then which all
> the other objects use (I'm not entirely sure -- can we have multiple
> files open independently in parallel withe each connection having its
> own mutex, or does the entire driver need to have one mutex)?
If it were not thread-safe, then the entire driver needs a
mutex. However, we just got the information that since 2.5.0,
libfbembed is thread-safe, so there is no mutexing necessary for the
driver. Any mutexing that is putatively necessary at a lower level (in
OResultSet or in OConnection) would only be necessary because of the
structure of these classes.
More information about the LibreOffice