Bug #439
The exiv2 library should be re-entrant
100%
Description
Exiv2 is currently not re-entrant. I'm aware of the following problems, but maybe there are more:
+ It uses the old versions of some C/Posix functions instead of the *_r version.
+ Construction of the Image and Makernote factories accesses static variables without any protection
Associated revisions
History
Updated by Andreas Huggel over 13 years ago
AFAICS This is finally fixed with the removal of the complex Makernote registration logic.
Updated by Andreas Huggel over 13 years ago
Exiv2::XmpParser::initialize and Exiv2::XmpProperties::registerNs are not thread-safe, see http://bugs.kde.org/show_bug.cgi?id=166424
Updated by Andreas Huggel almost 13 years ago
- Target version changed from 0.18 to 1.0
- % Done changed from 0 to 80
Updated by Gilles Caulier over 12 years ago
Andreas Huggel wrote:
Exiv2 is currently not re-entrant. I'm aware of the following problems, but maybe there are more:
+ It uses the old versions of some C/Posix functions instead of the *_r version.
+ Construction of the Image and Makernote factories accesses static variables without any protection
And use d private internal classes to host privates members/methods, to improve bianry compatibility and clean up code... This is very important for a library.
Look here for details from KDE project :
http://techbase.kde.org/Policies/Library_Code_Policy#Shared_D-Pointers
Gilles Caulier
Updated by Andreas Huggel over 10 years ago
- Status changed from Feedback to Resolved
- Target version changed from 1.0 to 0.22
- % Done changed from 80 to 100
#439: Added optional parameters to XmpParser::initialize() to work around thread-safety issues (Jonathan Potter, GP Software)