On 2008-12-06 17:13:34 +0100, Sean Kelly <[EMAIL PROTECTED]> said:

Fawzi Mohamed wrote:

a memory barrier would be needed, and atomic decrements, but I see that it is not portable...

It would also somewhat defeat the purpose of thread_needLock, since IMO this routine should be fast. If memory barriers are involved then it may as well simply use a mutex itself, and this is exactly what it's intended to avoid.

the memory barrier would be needed in the code that decrements the number of active threads, so that you are sure that no pending writes are still there, (that is the problem that you said brought you to switch to a multithreaded flag), not in the code of thread_needLock...

But again I would say that this optimization is not really worth it (as you also said it), even if it is relevant for GUI applications.

Fawzi

Reply via email to