提交 7a8d5a10 编写于 作者: S skoppar

6929137: java-corba: Locking too broad in...

6929137: java-corba: Locking too broad in com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl
Reviewed-by: asaha
上级 9f852632
/* /*
* Copyright (c) 2001, 2004, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2001, 2010, 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
...@@ -122,9 +122,6 @@ public class CorbaClientRequestDispatcherImpl ...@@ -122,9 +122,6 @@ public class CorbaClientRequestDispatcherImpl
implements implements
ClientRequestDispatcher ClientRequestDispatcher
{ {
// Used for locking
private Object lock = new Object();
public OutputObject beginRequest(Object self, String opName, public OutputObject beginRequest(Object self, String opName,
boolean isOneWay, ContactInfo contactInfo) boolean isOneWay, ContactInfo contactInfo)
{ {
...@@ -151,7 +148,8 @@ public class CorbaClientRequestDispatcherImpl ...@@ -151,7 +148,8 @@ public class CorbaClientRequestDispatcherImpl
// This locking is done so that multiple connections are not created // This locking is done so that multiple connections are not created
// for the same endpoint // for the same endpoint
synchronized (lock) { //6929137 - Synchronized on contactInfo to avoid blocking across multiple endpoints
synchronized (contactInfo) {
if (contactInfo.isConnectionBased()) { if (contactInfo.isConnectionBased()) {
if (contactInfo.shouldCacheConnection()) { if (contactInfo.shouldCacheConnection()) {
connection = (CorbaConnection) connection = (CorbaConnection)
...@@ -256,7 +254,7 @@ public class CorbaClientRequestDispatcherImpl ...@@ -256,7 +254,7 @@ public class CorbaClientRequestDispatcherImpl
registerWaiter(messageMediator); registerWaiter(messageMediator);
// Do connection reclaim now // Do connection reclaim now
synchronized (lock) { synchronized (contactInfo) {
if (contactInfo.isConnectionBased()) { if (contactInfo.isConnectionBased()) {
if (contactInfo.shouldCacheConnection()) { if (contactInfo.shouldCacheConnection()) {
OutboundConnectionCache connectionCache = OutboundConnectionCache connectionCache =
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册