November 02, 2014
https://issues.dlang.org/show_bug.cgi?id=13672

          Issue ID: 13672
           Summary: core.thread.Thread.start holds "slock" unnecessarily
           Product: D
           Version: unspecified
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P1
         Component: druntime
          Assignee: nobody@puremagic.com
          Reporter: sean@invisibleduck.org

Looking at Thread.start, the bulk of the body of this function holds the global "slock" and I can't figure out why.  Most or all of the calls inside this lock are either local operations or are already atomic.  What actually needs to be made mutually exclusive here?  This seems like an easy candidate for optimization.

--