--- jsr166/src/main/java/util/Random.java 2006/02/16 08:17:21 1.15 +++ jsr166/src/main/java/util/Random.java 2007/01/07 07:38:27 1.18 @@ -1,7 +1,7 @@ /* * %W% %E% * - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ @@ -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)); } - }