This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

4.0 Patch: Fix bootstrap classloader deadlock


This is the first of several fixes to be backported to the 4.0 branch now that it has reopened. See here for a description of the patch: http://gcc.gnu.org/ml/java-patches/2005-q3/msg00412.html

I'm checking this in.

Bryce

2005-10-01  Bryce McKinlay  <mckinlay@redhat.com>

        * gnu/gcj/runtime/BootClassLoader.java (BootClassLoader): Pass
        `null' parent ClassLoader to parent constructor.
        * gnu/gcj/runtime/HelperClassLoader.java (HelperClassLoader): New
        constructor.

Index: gnu/gcj/runtime/HelperClassLoader.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/gnu/gcj/runtime/HelperClassLoader.java,v
retrieving revision 1.1
diff -u -r1.1 HelperClassLoader.java
--- gnu/gcj/runtime/HelperClassLoader.java	29 Mar 2005 22:54:04 -0000	1.1
+++ gnu/gcj/runtime/HelperClassLoader.java	10 Aug 2005 19:08:10 -0000
@@ -25,6 +25,11 @@
   {
     super(new URL[0]);
   }
+  
+  HelperClassLoader(ClassLoader parent)
+  {
+    super(new URL[0], parent);
+  }
 
   /**
    * This is a helper method that adds all the jar and zip files from
Index: gnu/gcj/runtime/BootClassLoader.java
===================================================================
RCS file: /cvs/gcc/gcc/libjava/gnu/gcj/runtime/BootClassLoader.java,v
retrieving revision 1.3
diff -u -r1.3 BootClassLoader.java
--- gnu/gcj/runtime/BootClassLoader.java	29 Mar 2005 21:47:03 -0000	1.3
+++ gnu/gcj/runtime/BootClassLoader.java	10 Aug 2005 19:08:10 -0000
@@ -23,6 +23,9 @@
 {
   BootClassLoader(String libdir)
   {
+    // The BootClassLoader is the top of the delegation chain. It has no
+    // parent.
+    super((ClassLoader) null);
     addDirectoriesFromProperty("java.endorsed.dirs");
     addDirectoriesFromProperty("gnu.gcj.runtime.endorsed.dirs");
 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]