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
libfbembed:
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.
--
Lionel
Context
- FireBird/LibreOffice: fb_config/pkg-config, thread-safety, eager caching · Lionel Elie Mamane
- Re: FireBird/LibreOffice: fb_config/pkg-config, thread-safety, eager caching · Lionel Elie Mamane
- Re: FireBird/LibreOffice: fb_config/pkg-config, thread-safety, eager caching · David Tardon
- Re: FireBird/LibreOffice: fb_config/pkg-config, thread-safety, eager caching · Andrzej J. R. Hunt
- Re: FireBird/LibreOffice: fb_config/pkg-config, thread-safety, eager caching · Rene Engelhard
- Re: FireBird/LibreOffice: fb_config/pkg-config, thread-safety, eager caching · Michael Meeks
- Re: FireBird/LibreOffice: fb_config/pkg-config, thread-safety, eager caching · Popa Adrian Marius
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.