--- jsr166/src/main/java/util/Random.java 2006/02/16 08:17:21 1.15 +++ jsr166/src/main/java/util/Random.java 2006/04/19 15:07:14 1.17 @@ -136,7 +136,7 @@ class Random implements java.io.Serializ do { oldseed = seed.get(); nextseed = (oldseed * multiplier + addend) & mask; - } while (!seed.compareAndSet(oldseed, nextseed)); + } while (!seed.weakCompareAndSet(oldseed, nextseed)); return (int)(nextseed >>> (48 - bits)); } @@ -523,10 +523,9 @@ class Random implements java.io.Serializ try { seedOffset = unsafe.objectFieldOffset (Random.class.getDeclaredField("seed")); - } catch (Exception ex) { throw new Error(ex); } + } catch (Exception ex) { throw new Error(ex); } } private void resetSeed(long seedVal) { unsafe.putObjectVolatile(this, seedOffset, new AtomicLong(seedVal)); } - }