- 2010.06.17 16:21 "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 00:33 "Re: [Tiff] libtiff 4 API/ABI stability?", by Adam Goode
- 2010.06.17 20:14 "Re: [Tiff] libtiff 4 API/ABI stability?", by Tom Lane
- 2010.06.18 00:31 "Re: [Tiff] libtiff 4 API/ABI stability?", by Adam Goode
-
2010.06.17 19:35 "Re: [Tiff] libtiff 4 API/ABI stability?", by Olivier Paquet
-
2010.06.17 18:47 "Re: [Tiff] libtiff 4 API/ABI stability?", by Bob Friesenhahn
-
2010.06.17 18:09 "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 17:15 "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 16:34 "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