AWARE [SYSTEMS] Imaging expertise for the Delphi developer
AWare Systems, Imaging expertise for the Delphi developer, Home TIFF and LibTiff Mailing List Archive

LibTiff Mailing List

TIFF and LibTiff Mailing List Archive
June 2010

Previous Thread
Next Thread

Previous by Thread
Next by Thread

Previous by Date
Next by Date

Contact

The TIFF Mailing List Homepage
This list is run by Frank Warmerdam
Archive maintained by AWare Systems



Valid HTML 4.01!



Thread

2010.06.17 15:39 "libtiff 4 API/ABI stability?", by Adam Goode
2010.06.17 16:21 "Re: libtiff 4 API/ABI stability?", by Edward Lam
2010.06.17 16:22 "Re: libtiff 4 API/ABI stability?", by Edward Lam
2010.06.17 16:38 "Re: libtiff 4 API/ABI stability?", by Adam Goode
2010.06.17 22:06 "Re: libtiff 4 API/ABI stability?", by Edward Lam
2010.06.18 00:13 "Re: libtiff 4 API/ABI stability?", by Adam Goode
2010.06.18 13:44 "Re: libtiff 4 API/ABI stability?", by Edward Lam
2010.06.18 17:46 "[PATCH] Build tif_win32.c on Windows except on Cygwin", by Adam Goode
2010.06.18 18:21 "Re: [PATCH] Build tif_win32.c on Windows except on Cygwin", by Bob Friesenhahn
2010.06.18 18:32 "Re: [PATCH] Build tif_win32.c on Windows except on Cygwin", by Adam Goode
2010.06.18 18:35 "Re: [PATCH] Build tif_win32.c on Windows except on Cygwin", by Adam Goode
2010.06.28 13:25 "Re: [PATCH] Build tif_win32.c on Windows except on Cygwin", by Edward Lam
2010.06.28 15:54 "Re: [PATCH] Build tif_win32.c on Windows except on Cygwin", by Bob Friesenhahn
2010.06.29 11:23 "Re: [PATCH] Build tif_win32.c on Windows except on Cygwin", by Andrey Kiselev
2010.06.29 13:46 "Re: [PATCH] Build tif_win32.c on Windows except on Cygwin", by Adam Goode
2010.06.17 16:28 "Re: libtiff 4 API/ABI stability?", by Bob Friesenhahn
2010.06.17 16:34 "Re: libtiff 4 API/ABI stability?", by Adam Goode
2010.06.17 16:55 "Re: libtiff 4 API/ABI stability?", by Bob Friesenhahn
2010.06.17 17:15 "Re: libtiff 4 API/ABI stability?", by Adam Goode
2010.06.17 18:04 "Re: libtiff 4 API/ABI stability?", by Olivier Paquet
2010.06.17 18:09 "Re: libtiff 4 API/ABI stability?", by Adam Goode
2010.06.17 18:47 "Re: libtiff 4 API/ABI stability?", by Bob Friesenhahn
2010.06.17 19:35 "Re: libtiff 4 API/ABI stability?", by Olivier Paquet
2010.06.18 00:33 "Re: libtiff 4 API/ABI stability?", by Adam Goode
2010.06.18 01:45 "Re: libtiff 4 API/ABI stability?", by Adam Goode
2010.06.18 01:54 "Re: libtiff 4 API/ABI stability?", by Olivier Paquet
2010.06.18 02:00 "Re: libtiff 4 API/ABI stability?", by Adam Goode
2010.06.18 13:32 "Re: libtiff 4 API/ABI stability?", by Edward Lam
2010.06.18 13:54 "Re: libtiff 4 API/ABI stability?", by Olivier Paquet
2010.06.18 02:36 "Re: libtiff 4 API/ABI stability?", by Bob Friesenhahn
2010.06.17 20:14 "Re: libtiff 4 API/ABI stability?", by Tom Lane
2010.06.17 20:35 "Re: libtiff 4 API/ABI stability?", by Bob Friesenhahn
2010.06.18 00:31 "Re: libtiff 4 API/ABI stability?", by Adam Goode

2010.06.18 00:31 "Re: libtiff 4 API/ABI stability?", by Adam Goode

On 06/17/2010 02:47 PM, Bob Friesenhahn wrote:
> On Thu, 17 Jun 2010, Adam Goode wrote:
>>
>> Yeah, it will work ok in 99% of cases. It won't work if one library
>> needs to register a codec that changes the behavior of another library,
>> for example. Not so much an issue if you're using libtiff from an
>> application, but it is if you're writing a library that uses libtiff.
> 
> In this case you would need to have an 'application' handle which
> contains all application specific references, where a single "program"
> could have multiple handles.  Multiple users of libtiff in a single
> application becomes more common as applications become huge and use many
> other libraries (some apps seem to use over 70 libraries now).
> 

Yes, that sounds about right. Though I don't think an application handle
is strictly necessary, I would just pass the warning/error callbacks and
codecs directly to TIFFOpen (following the Law of Demeter). Though
putting it all together into an application handle is ok too.

> I have seen very good success from using thread specific data (TSD),
> which is supported under POSIX and Microsoft Windows, and is easily
> emulated in a non-threaded build.  TSD can be much more efficient than
> using shared data with locking if the algorithm can get by with
> different data per thread.  There are also TSD compiler extensions for
> GCC and MSVC but I would not want to use something non-portable like that.
> 

Yeah, I definitely think locks are not the way to go. And I don't think
they are necessary for implementing the kind thread safety we are
looking for here. You just need to allocate a bit more on the heap and
pass things in. libjpeg definitely does this right.


Adam