www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 16057] New: [TDPL] synchronized (a, b) compiles and runs with

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

          Issue ID: 16057
           Summary: [TDPL] synchronized (a, b) compiles and runs with
                    wrong semantics
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: critical
          Priority: P1
         Component: dmd
          Assignee: nobody puremagic.com
          Reporter: andrei erdani.com

According to TDPL, multiple-arguments synchronized locks them in increasing
address order so as to prevent deadlock. What the statement actually does is...
use the comma expression for the arguments, so only the last object gets
locked.

--
May 22 2016