From 2b446bf0741cb5bf02f15c2cd7fd137f5a86a700 Mon Sep 17 00:00:00 2001 From: Doug Lea Date: Sat, 20 Feb 2016 12:19:36 -0800 Subject: [PATCH] 8150014: java/lang/invoke/LFCaching/LFMultiThreadCachingTest.java fails with NoClassDefFoundError Reviewed-by: martin, psandoz, darcy, mhaupt, dholmes --- .../share/classes/java/util/SplittableRandom.java | 8 +++++--- .../classes/java/util/concurrent/ThreadLocalRandom.java | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/jdk/src/java.base/share/classes/java/util/SplittableRandom.java b/jdk/src/java.base/share/classes/java/util/SplittableRandom.java index cf71c91e8da..f54b3d931b2 100644 --- a/jdk/src/java.base/share/classes/java/util/SplittableRandom.java +++ b/jdk/src/java.base/share/classes/java/util/SplittableRandom.java @@ -225,9 +225,11 @@ public final class SplittableRandom { private static final AtomicLong defaultGen = new AtomicLong(initialSeed()); private static long initialSeed() { - java.security.PrivilegedAction action = - () -> Boolean.getBoolean("java.util.secureRandomSeed"); - if (java.security.AccessController.doPrivileged(action)) { + if (java.security.AccessController.doPrivileged( + new java.security.PrivilegedAction() { + public Boolean run() { + return Boolean.getBoolean("java.util.secureRandomSeed"); + }})) { byte[] seedBytes = java.security.SecureRandom.getSeed(8); long s = (long)seedBytes[0] & 0xffL; for (int i = 1; i < 8; ++i) diff --git a/jdk/src/java.base/share/classes/java/util/concurrent/ThreadLocalRandom.java b/jdk/src/java.base/share/classes/java/util/concurrent/ThreadLocalRandom.java index 90fb6cf054f..3e50171cf20 100644 --- a/jdk/src/java.base/share/classes/java/util/concurrent/ThreadLocalRandom.java +++ b/jdk/src/java.base/share/classes/java/util/concurrent/ThreadLocalRandom.java @@ -134,9 +134,11 @@ public class ThreadLocalRandom extends Random { private static final AtomicLong seeder = new AtomicLong(initialSeed()); private static long initialSeed() { - java.security.PrivilegedAction action = - () -> Boolean.getBoolean("java.util.secureRandomSeed"); - if (java.security.AccessController.doPrivileged(action)) { + if (java.security.AccessController.doPrivileged( + new java.security.PrivilegedAction() { + public Boolean run() { + return Boolean.getBoolean("java.util.secureRandomSeed"); + }})) { byte[] seedBytes = java.security.SecureRandom.getSeed(8); long s = (long)seedBytes[0] & 0xffL; for (int i = 1; i < 8; ++i)