Hi Lance,

Overall, looks fine.

Typo "earleir" at line 569.

I agree with having two separate init methods, since initDriversIfNeeded() conveniently separates the (safe) double-checked locking idiom from the actual initialization legwork in loadInitialDrivers().

I'm not entirely convinced, however :-), that DCL is necessary, but I could see that it might be helpful if some of these operations are called frequently. Sorry if this had been discussed previously.

s'marks



On 12/1/14 12:39 PM, Lance Andersen wrote:
Hi Ulf,

thank you for the input and  suggestion


On Dec 1, 2014, at 3:27 PM, Ulf Zibis <ulf.zi...@cosoco.de> wrote:

Hi Lance,

to me it's irritating, why there are 2 methods:
- initDriversIfNeeded()
- loadInitialDrivers()
I would combine both to one method.

Mandy had asked me previously about this and here was my reply

-----------------
The reason I had the two methods was to further reduce contention checking to 
see if the drivers need to be loaded.  getConnection  gets called frequently so 
I thought that not having the initial check synchronized would be more efficient
-----------------


I think the code gets harder to read if I have one large synchronized block  
assuming I move everything from loadInitialDrivers into the  existing 
synchronized block in initDriversIfNeeded.

In lines 90 + 92 there are double spaces.

Thank you.

-Ulf



Best,
Lance
Am 01.12.2014 um 17:52 schrieb Lance Andersen:
Hi all,

Looking for a review for this change to DriverManager to reduce the possibility on a 
deadlock on <clinit>. that I have been discussing with Mandy.


The change removes the static initializer block as well as the synchronized 
keyword from registerDriver.

The webrev can be found at 
http://cr.openjdk.java.net/%7Elancea/8060068/webrev.02/


Best,
Lance


Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
Oracle Java Engineering
1 Network Drive
Burlington, MA 01803
lance.ander...@oracle.com








Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
Oracle Java Engineering
1 Network Drive
Burlington, MA 01803
lance.ander...@oracle.com



Reply via email to