提交 04b6e378 编写于 作者: M mullan

6845161: Bottleneck in Configuration.getConfiguration synchronized call

Summary: Reduce scope of synchronized block
Reviewed-by: weijun
上级 848d26e6
/* /*
* Copyright 1998-2006 Sun Microsystems, Inc. All Rights Reserved. * Copyright 1998-2009 Sun Microsystems, Inc. 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
...@@ -234,12 +234,13 @@ public abstract class Configuration { ...@@ -234,12 +234,13 @@ public abstract class Configuration {
* *
* @see #setConfiguration * @see #setConfiguration
*/ */
public static synchronized Configuration getConfiguration() { public static Configuration getConfiguration() {
SecurityManager sm = System.getSecurityManager(); SecurityManager sm = System.getSecurityManager();
if (sm != null) if (sm != null)
sm.checkPermission(new AuthPermission("getLoginConfiguration")); sm.checkPermission(new AuthPermission("getLoginConfiguration"));
synchronized (Configuration.class) {
if (configuration == null) { if (configuration == null) {
String config_class = null; String config_class = null;
config_class = AccessController.doPrivileged config_class = AccessController.doPrivileged
...@@ -285,6 +286,7 @@ public abstract class Configuration { ...@@ -285,6 +286,7 @@ public abstract class Configuration {
} }
return configuration; return configuration;
} }
}
/** /**
* Set the login <code>Configuration</code>. * Set the login <code>Configuration</code>.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册