On Tuesday, 26 January 2021 at 21:09:34 UTC, Steven Schveighoffer
wrote:
The only item that is read without being locked is owner. If
you change that to an atomic read and write, it should be fine
(and is likely fine on x86* without atomics anyway).
All the other data is protected by the actual mutex, and so
should be synchronous.
However, I think this is all moot, druntime is the same as
Tango.
-Steve
Yes, I didn't see the lock would block subsequent threads.
Both pthread_mutex_lock and EnterCriticalSection do exactly the
same as FastLock and the only difference is the the check is
"closer" to the running code. Performance increase should be low.
As I was wrong about the thread safety, I will not write here any
further.