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)