Browse Source

fixes a concurrency bug in ProxyFactory (JASSIST-259)

tags/rel_3_21_0-java9-ea
chibash 8 years ago
parent
commit
fee5e033b3
1 changed files with 6 additions and 5 deletions
  1. 6
    5
      src/main/javassist/util/proxy/ProxyFactory.java

+ 6
- 5
src/main/javassist/util/proxy/ProxyFactory.java View File

@@ -421,20 +421,21 @@ public class ProxyFactory {
}

private Class createClass1() {
if (thisClass == null) {
Class result = thisClass;
if (result == null) {
ClassLoader cl = getClassLoader();
synchronized (proxyCache) {
if (factoryUseCache)
createClass2(cl);
else
createClass3(cl);

result = thisClass;
// don't retain any unwanted references
thisClass = null;
}
}

// don't retain any unwanted references
Class result = thisClass;
thisClass = null;

return result;
}


Loading…
Cancel
Save