提交 9930a1f3 编写于 作者: R robm

8191909: Nightly failures in nashorn suite

Reviewed-by: chegar
上级 f21c002d
/* /*
* Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
...@@ -48,7 +48,7 @@ import sun.net.www.ParseUtil; ...@@ -48,7 +48,7 @@ import sun.net.www.ParseUtil;
/** /**
* This class is used by the system to launch the main application. * This class is used by the system to launch the main application.
Launcher */ */
public class Launcher { public class Launcher {
private static URLStreamHandlerFactory factory = new Factory(); private static URLStreamHandlerFactory factory = new Factory();
private static Launcher launcher = new Launcher(); private static Launcher launcher = new Launcher();
...@@ -121,6 +121,7 @@ public class Launcher { ...@@ -121,6 +121,7 @@ public class Launcher {
static { static {
ClassLoader.registerAsParallelCapable(); ClassLoader.registerAsParallelCapable();
} }
private static volatile ExtClassLoader instance = null;
/** /**
* create an ExtClassLoader. The ExtClassLoader is created * create an ExtClassLoader. The ExtClassLoader is created
...@@ -128,6 +129,17 @@ public class Launcher { ...@@ -128,6 +129,17 @@ public class Launcher {
*/ */
public static ExtClassLoader getExtClassLoader() throws IOException public static ExtClassLoader getExtClassLoader() throws IOException
{ {
if (instance == null) {
synchronized(ExtClassLoader.class) {
if (instance == null) {
instance = createExtClassLoader();
}
}
}
return instance;
}
private static ExtClassLoader createExtClassLoader() throws IOException {
try { try {
// Prior implementations of this doPrivileged() block supplied // Prior implementations of this doPrivileged() block supplied
// aa synthesized ACC via a call to the private method // aa synthesized ACC via a call to the private method
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册