[jboss-cvs] JBossAS SVN: r67721 - trunk/jmx/src/main/org/jboss/mx/loading.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sat Dec 1 14:57:00 EST 2007
Author: scott.stark at jboss.org
Date: 2007-12-01 14:57:00 -0500 (Sat, 01 Dec 2007)
New Revision: 67721
Modified:
trunk/jmx/src/main/org/jboss/mx/loading/UnifiedLoaderRepository3.java
Log:
Use copy on write semantic for adding a package class loader
Modified: trunk/jmx/src/main/org/jboss/mx/loading/UnifiedLoaderRepository3.java
===================================================================
--- trunk/jmx/src/main/org/jboss/mx/loading/UnifiedLoaderRepository3.java 2007-12-01 19:09:54 UTC (rev 67720)
+++ trunk/jmx/src/main/org/jboss/mx/loading/UnifiedLoaderRepository3.java 2007-12-01 19:57:00 UTC (rev 67721)
@@ -1135,6 +1135,12 @@
}
if( pkgSet.contains(loader) == false )
{
+ // Make a copy of the pkgSet to avoid concurrent mods
+ Set<RepositoryClassLoader> newSet = ClassLoaderUtils.newPackageSet();
+ newSet.addAll(pkgSet);
+ packagesMap.put(pkgName, newSet);
+ pkgSet = newSet;
+ // Add the class loader
pkgSet.add((RepositoryClassLoader)loader);
List<String> loaderPkgNames = loaderToPackagesMap.get(loader);
if( loaderPkgNames == null )
More information about the jboss-cvs-commits
mailing list