[ https://issues.apache.org/jira/browse/DERBY-4124?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bryan Pendleton resolved DERBY-4124.
------------------------------------
Resolution: Fixed
Fix Version/s: 10.6.0.0
Committed to the trunk as revision 833888.
> Broken double-checked-locking in EmbeddedDataSource.findDriver
> --------------------------------------------------------------
>
> Key: DERBY-4124
> URL: https://issues.apache.org/jira/browse/DERBY-4124
> Project: Derby
> Issue Type: Bug
> Components: JDBC
> Affects Versions: 10.4.2.0
> Environment: all
> Reporter: Ronald Tschalaer
> Assignee: Bryan Pendleton
> Fix For: 10.6.0.0
>
> Attachments: alwaysSynchronize.diff
>
>
> org.apache.derby.jdbc.EmbeddedDataSource.findDriver() uses the
> double-checked-locking idiom for setting the 'driver' variable. This
> idiom is, however, not correct and hence the code is broken. The fix
> is to remove the outer if, i.e. to always enter the synchronized block.
> See also
> http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
|