I'm not sure I understand the while loop. But this update looks fine to me as it does not change the logic of the code except to use elapsed time.
Xuelei On 6/15/2016 11:12 AM, Wang Weijun wrote: > Please take a review on the patch > > diff --git > a/src/java.base/share/classes/sun/security/provider/SeedGenerator.java > b/src/java.base/share/classes/sun/security/provider/SeedGenerator.java > --- a/src/java.base/share/classes/sun/security/provider/SeedGenerator.java > +++ b/src/java.base/share/classes/sun/security/provider/SeedGenerator.java > @@ -354,8 +354,8 @@ > // We wait 250milli quanta, so the minimum wait time > // cannot be under 250milli. > int latch = 0; > - long l = System.currentTimeMillis() + 250; > - while (System.currentTimeMillis() < l) { > + long l = System.nanoTime() + 250000000; > + while (System.nanoTime() < l) { > synchronized(this){}; > latch++; > } > > nanoTime() is for elapsed time and should be used here. > > Thanks > Max >