-
Enhancement
-
Resolution: Fixed
-
P4
-
None
-
None
If there are two threads calling Executable.hasRealParameterData() under race and the first one writes into volatile Executable.parameters field (doing releasing store) and the second thread reads non-null value from the same field (doing acquiring read) then it must read exactly the same value written into hasRealParameterData within privateGetParameters().
In the opposite case (acquiring read reads null) the second thread writes the value itself and returns it from the method.
In the opposite case (acquiring read reads null) the second thread writes the value itself and returns it from the method.