AWARE SYSTEMS
TIFF and LibTiff Mail List Archive

Thread

2010.06.17 15:39 "[Tiff] libtiff 4 API/ABI stability?", by Adam Goode
2010.06.17 16:21 "Re: [Tiff] libtiff 4 API/ABI stability?", by Edward Lam
2010.06.17 16:22 "Re: [Tiff] libtiff 4 API/ABI stability?", by Edward Lam
2010.06.17 16:38 "Re: [Tiff] libtiff 4 API/ABI stability?", by Adam Goode
2010.06.17 22:06 "Re: [Tiff] libtiff 4 API/ABI stability?", by Edward Lam
2010.06.18 00:13 "Re: [Tiff] libtiff 4 API/ABI stability?", by Adam Goode
2010.06.18 13:44 "Re: [Tiff] libtiff 4 API/ABI stability?", by Edward Lam
2010.06.17 16:28 "Re: [Tiff] libtiff 4 API/ABI stability?", by Bob Friesenhahn
2010.06.17 16:34 "Re: [Tiff] libtiff 4 API/ABI stability?", by Adam Goode
2010.06.17 16:55 "Re: [Tiff] libtiff 4 API/ABI stability?", by Bob Friesenhahn
2010.06.17 17:15 "Re: [Tiff] libtiff 4 API/ABI stability?", by Adam Goode
2010.06.17 18:04 "Re: [Tiff] libtiff 4 API/ABI stability?", by Olivier Paquet
2010.06.17 18:09 "Re: [Tiff] libtiff 4 API/ABI stability?", by Adam Goode
2010.06.17 18:47 "Re: [Tiff] libtiff 4 API/ABI stability?", by Bob Friesenhahn
2010.06.17 19:35 "Re: [Tiff] libtiff 4 API/ABI stability?", by Olivier Paquet
2010.06.18 00:33 "Re: [Tiff] libtiff 4 API/ABI stability?", by Adam Goode
2010.06.18 01:45 "Re: [Tiff] libtiff 4 API/ABI stability?", by Adam Goode
2010.06.18 01:54 "Re: [Tiff] libtiff 4 API/ABI stability?", by Olivier Paquet
2010.06.18 02:00 "Re: [Tiff] libtiff 4 API/ABI stability?", by Adam Goode
2010.06.18 13:32 "Re: [Tiff] libtiff 4 API/ABI stability?", by Edward Lam
2010.06.18 13:54 "Re: [Tiff] libtiff 4 API/ABI stability?", by Olivier Paquet
2010.06.18 02:36 "Re: [Tiff] libtiff 4 API/ABI stability?", by Bob Friesenhahn
2010.06.17 20:14 "Re: [Tiff] libtiff 4 API/ABI stability?", by Tom Lane
2010.06.17 20:35 "Re: [Tiff] libtiff 4 API/ABI stability?", by Bob Friesenhahn
2010.06.18 00:31 "Re: [Tiff] libtiff 4 API/ABI stability?", by Adam Goode

2010.06.18 01:54 "Re: [Tiff] libtiff 4 API/ABI stability?", by Olivier Paquet

On Thu, Jun 17, 2010 at 9:45 PM, Adam Goode <adam@spicenitz.org> wrote:

On 06/17/2010 08:33 PM, Adam Goode wrote:

You don't need TSD to scale. Just have mostly immutable structures that you lock when you write to or pass to a different thread. Then everything can work fine.

Actually, to clarify a little: I mean here that libtiff shouldn't concern itself with threads, but allow the user to pass in everything needed and treat those structures as immutable. Then a user can pass this structure around to different threads (using proper locking and barriers) without worrying that it will change. This is more in the realm of thread safety #2 as I listed before.

That's fine for most operations but at some point (eg. file I/O if it is not memory mapped) we will need synchronization. Which pretty much means linking with pthread. This is why I raised the question: should we do it now or wait until is is actually needed?

For thread safety #1 we can and should of course do as you suggest and write the code properly instead of patching it with locks.

Olivier