From: Dan F. <dfa...@us...> - 2008-11-19 08:14:51
|
Update of /cvsroot/libexif/libexif/libexif In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv13727/libexif Modified Files: exif.h Log Message: Document that libexif is now thread safe (when used appropriately). Also, clarify the string encoding issue since gettext takes care of converting strings into the appropriate locale's encoding. Index: exif.h =================================================================== RCS file: /cvsroot/libexif/libexif/libexif/exif.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -p -d -r1.7 -r1.8 --- exif.h 26 Jun 2007 02:07:59 -0000 1.7 +++ exif.h 19 Nov 2008 08:14:44 -0000 1.8 @@ -1,7 +1,7 @@ /*! \file exif.h exif/exif.h - * \brief Dummy header file + * \brief Dummy header file for documentation purposes * \date 2007 - * \author Hans Ulrich Niedermann + * \author Hans Ulrich Niedermann, et. al. * * \mainpage The libexif library * @@ -19,8 +19,10 @@ * * \section string_conventions String Conventions * - * Strings of 8 bit characters ("char*"). Character set and encoding - * are currently undefined, but that will change in the future. + * Strings of 8 bit characters ("char*"). When libexif is compiled with + * NLS, character set and encoding are as set in the current locale, + * except for strings that come directly from the data in EXIF + * tags which are returned in raw form. * * \section memory_management Memory Management Patterns * @@ -35,6 +37,15 @@ * * \section thread_safety Thread Safety * - * FIXME: Good question. Needs to be determined. + * libexif is thread safe when the underlying C library is also thread safe. + * Some libraries may require defining a special macro (like _REENTRANT) + * to ensure this, or may require linking to a special thread-safe version of + * the library. + * + * The programmer must ensure that each object allocated by libexif is only + * used in a single thread at once. For example, an ExifData* allocated + * in one thread can't be used in a second thread if there is any chance + * that the first thread could use it at the same time. Two threads + * can use libexif without issues if they never share handles. * */ |