Description
There are three places where the field used for double-checked locking isn't volatile. Change them to volatile to ensure thread-safety.
More details on the double-checked locking paradigm: https://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html
Attachments
Issue Links
- links to