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 <firstname.lastname@example.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.