提交 adff931e 编写于 作者: V valeriep

6850402: Deadlock on sun.security.jca.ProviderConfig starting from jdk7-b55

Summary: Reduced the scope of locking
Reviewed-by: vinnie
上级 ff44ffd3
......@@ -159,15 +159,18 @@ public class Providers {
* could not be loaded) removed. This is the list we need to
* present to applications.
*/
public static synchronized ProviderList getFullProviderList() {
ProviderList list = getThreadProviderList();
if (list != null) {
ProviderList newList = list.removeInvalid();
if (newList != list) {
changeThreadProviderList(newList);
list = newList;
public static ProviderList getFullProviderList() {
ProviderList list;
synchronized (Providers.class) {
list = getThreadProviderList();
if (list != null) {
ProviderList newList = list.removeInvalid();
if (newList != list) {
changeThreadProviderList(newList);
list = newList;
}
return list;
}
return list;
}
list = getSystemProviderList();
ProviderList newList = list.removeInvalid();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册