RFR 8010282: sun.net.www.protocol.jar.JarFileFactory.close(JarFile) should be thread-safe

Chris Hegarty chris.hegarty at oracle.com
Tue Mar 19 10:43:03 PDT 2013


JarFileFactory has two Maps that it uses to implement caching of jar 
files. Access to these maps should always be done while holding the 
instance lock, as multiple threads can be simultaneously updating the maps.

The close() method was added some time after the original 
implementation, and it looks like the locking was forgotten. Also, the 
locking strategy assumes that JarFileFactory is a singleton. It should 
be reworked to make it more robust. There is much more cleanup that can 
be done here, and I intend to do it as a separate bug, so as not to 
confuse the specifics of this issue.

http://cr.openjdk.java.net/~chegar/8010282/webrev.00/webrev/

-Chris.



More information about the net-dev mailing list