Hi,

I noticed you were using double checked locking in one class. Unfortunately 
due to javas memory model this is not an approach that works. In short DCL is 
a broken pattern and if you want the full commentry there was discussion of 
this approach on the Javaworld site (do a search for Brian Goetz + DCL).

The probelm essentially comes down to java allowing extensive operation 
reordering that could result in the value being assigned to value before it 
is fully initialized and thus a check for null would pass but the actual 
object would not be ready for use. Heres a patch to correct this



-- 
Cheers,

Pete

*------------------------------------------------------*
| "Computers are useless. They can only give you       |
|            answers." - Pablo Picasso                 |
*------------------------------------------------------*

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to