[Issue 6607] critical_.d and critical.c use double check locking the wrong way

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Wed May 20 05:30:42 PDT 2015


https://issues.dlang.org/show_bug.cgi?id=6607

--- Comment #4 from github-bugzilla at puremagic.com ---
Commit pushed to master at https://github.com/D-Programming-Language/druntime

https://github.com/D-Programming-Language/druntime/commit/0b41a6205361382930272813a5f6a2baae0c456a
cleanup and rewrite rt.critical_

- reuse mutex declarations from rt.monitor_
- fix race condition (incorrect double checked locking)
- modernize code for readability
- use shared(D_CRITICAL_SECTION)* when dealing with
  unsynchronized data
- replace STI/STD style C constructors
- fix Issue 6607
- hopefully fix Issue 14584 - spurious autotester deadlocks

--


More information about the Digitalmars-d-bugs mailing list