Anonymous avatar Anonymous committed 222e699

Fix possible memory leaks due to class specified in threadlocals

git-svn-id: e221344d-f017-0410-9bd5-d282ab1896d7

Comments (0)

Files changed (1)


     return factoryNamesByType.get(type);
-  ThreadLocal<InternalContext[]> localContext =
-      new ThreadLocal<InternalContext[]>() {
+  ThreadLocal<Object[]> localContext =
+      new ThreadLocal<Object[]>() {
         protected InternalContext[] initialValue() {
           return new InternalContext[1];
    * necessary.
   <T> T callInContext(ContextualCallable<T> callable) {
-    InternalContext[] reference = localContext.get();
+    InternalContext[] reference = (InternalContext[])localContext.get();
     if (reference[0] == null) {
       reference[0] = new InternalContext(this);
       try {
     return constructors.get(implementation);
-  final ThreadLocal<Scope.Strategy> localScopeStrategy =
-      new ThreadLocal<Scope.Strategy>();
+  final ThreadLocal<Object> localScopeStrategy =
+      new ThreadLocal<Object>();
   public void setScopeStrategy(Scope.Strategy scopeStrategy) {
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.