mirror of
https://github.com/EsotericSoftware/reflectasm.git
synced 2025-02-08 18:20:29 +08:00
Fixed issue 6, AccessClassLoader not tracking instances properly, not synchronized.
This commit is contained in:
parent
4ef6cb7b08
commit
feb316ccd0
@ -10,11 +10,15 @@ class AccessClassLoader extends ClassLoader {
|
||||
|
||||
static AccessClassLoader get (Class type) {
|
||||
ClassLoader parent = type.getClassLoader();
|
||||
for (int i = 0, n = accessClassLoaders.size(); i < n; i++) {
|
||||
AccessClassLoader accessClassLoader = accessClassLoaders.get(i);
|
||||
if (accessClassLoader.getParent() == parent) return accessClassLoader;
|
||||
synchronized (accessClassLoaders) {
|
||||
for (int i = 0, n = accessClassLoaders.size(); i < n; i++) {
|
||||
AccessClassLoader accessClassLoader = accessClassLoaders.get(i);
|
||||
if (accessClassLoader.getParent() == parent) return accessClassLoader;
|
||||
}
|
||||
AccessClassLoader accessClassLoader = new AccessClassLoader(parent);
|
||||
accessClassLoaders.add(accessClassLoader);
|
||||
return accessClassLoader;
|
||||
}
|
||||
return new AccessClassLoader(parent);
|
||||
}
|
||||
|
||||
private AccessClassLoader (ClassLoader parent) {
|
||||
|
Loading…
Reference in New Issue
Block a user