diff --git a/src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java b/src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java index 4cdafb0a44f..98e3cd2917b 100644 --- a/src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java +++ b/src/java.base/share/classes/java/util/concurrent/ForkJoinPool.java @@ -1140,9 +1140,12 @@ public class ForkJoinPool extends AbstractExecutorService { boolean isCommon = (pool.workerNamePrefix == null); @SuppressWarnings("removal") SecurityManager sm = System.getSecurityManager(); - if (sm == null) - return new ForkJoinWorkerThread(null, pool, true, false); - else if (isCommon) + if (sm == null) { + if (isCommon) + return new ForkJoinWorkerThread.InnocuousForkJoinWorkerThread(pool); + else + return new ForkJoinWorkerThread(null, pool, true, false); + } else if (isCommon) return newCommonWithACC(pool); else return newRegularWithACC(pool);