You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pa...@apache.org on 2009/09/23 08:00:56 UTC

svn commit: r817968 - /felix/trunk/framework/src/main/java/org/apache/felix/framework/ModuleImpl.java

Author: pauls
Date: Wed Sep 23 06:00:56 2009
New Revision: 817968

URL: http://svn.apache.org/viewvc?rev=817968&view=rev
Log:
Fix a potential endless loop on android (FELIX-1631).

Modified:
    felix/trunk/framework/src/main/java/org/apache/felix/framework/ModuleImpl.java

Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/ModuleImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/ModuleImpl.java?rev=817968&r1=817967&r2=817968&view=diff
==============================================================================
--- felix/trunk/framework/src/main/java/org/apache/felix/framework/ModuleImpl.java (original)
+++ felix/trunk/framework/src/main/java/org/apache/felix/framework/ModuleImpl.java Wed Sep 23 06:00:56 2009
@@ -1440,8 +1440,10 @@
                     // then delegate to the parent class loader; otherwise,
                     // break out of loop and return null.
                     boolean delegate = true;
-                    for (ClassLoader cl = classes[i].getClassLoader(); cl != null; cl = cl.getClass().getClassLoader())
+                    ClassLoader last = null;
+                    for (ClassLoader cl = classes[i].getClassLoader(); (cl != null) && (last != cl); cl = cl.getClass().getClassLoader())
                     {
+                        last = cl;
                         if (ModuleClassLoader.class.isInstance(cl))
                         {
                             delegate = false;