Author: toad
Date: 2009-03-27 14:39:46 +0000 (Fri, 27 Mar 2009)
New Revision: 26235

Modified:
   branches/db4o/freenet/src/freenet/client/async/BaseSingleFileFetcher.java
   branches/db4o/freenet/src/freenet/client/async/USKInserter.java
   branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java
Log:
Activate before removing, hopefully fix a minor SimpleEventProducer leak


Modified: 
branches/db4o/freenet/src/freenet/client/async/BaseSingleFileFetcher.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/BaseSingleFileFetcher.java   
2009-03-27 14:38:46 UTC (rev 26234)
+++ branches/db4o/freenet/src/freenet/client/async/BaseSingleFileFetcher.java   
2009-03-27 14:39:46 UTC (rev 26235)
@@ -341,7 +341,10 @@
 
        public void removeFrom(ObjectContainer container, ClientContext 
context) {
                super.removeFrom(container, context);
-               if(deleteFetchContext) ctx.removeFrom(container);
+               if(deleteFetchContext) {
+                       container.activate(ctx, 1);
+                       ctx.removeFrom(container);
+               }
                key.removeFrom(container);
        }
        

Modified: branches/db4o/freenet/src/freenet/client/async/USKInserter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/USKInserter.java     
2009-03-27 14:38:46 UTC (rev 26234)
+++ branches/db4o/freenet/src/freenet/client/async/USKInserter.java     
2009-03-27 14:39:46 UTC (rev 26235)
@@ -113,6 +113,8 @@
                                }
                        }
                        if(parent.persistent()) {
+                               container.activate(fetcher, 1);
+                               container.activate(fetcher.ctx, 1);
                                fetcher.removeFrom(container, context);
                                fetcher.ctx.removeFrom(container);
                                fetcher = null;
@@ -318,6 +320,8 @@
        public synchronized void onCancelled(ObjectContainer container, 
ClientContext context) {
                if(fetcher != null) {
                        if(parent.persistent()) {
+                               container.activate(fetcher, 1);
+                               container.activate(fetcher.ctx, 1);
                                fetcher.ctx.removeFrom(container);
                                fetcher.removeFrom(container, context);
                        }
@@ -387,7 +391,8 @@
                pubUSK.removeFrom(container);
                if(fetcher != null) {
                        Logger.error(this, "Fetcher tag still present: 
"+fetcher+" in removeFrom() for "+this, new Exception("debug"));
-                       container.activate(fetcher.ctx, 2);
+                       container.activate(fetcher, 1);
+                       container.activate(fetcher.ctx, 1);
                        fetcher.ctx.removeFrom(container);
                        fetcher.removeFrom(container, context);
                }

Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java   2009-03-27 
14:38:46 UTC (rev 26234)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java   2009-03-27 
14:39:46 UTC (rev 26235)
@@ -620,6 +620,7 @@
                freeData(container);
                
                if(persistenceType == PERSIST_FOREVER) {
+                       container.activate(fctx, 1);
                        if(fctx.allowedMIMETypes != null) {
                                container.activate(fctx.allowedMIMETypes, 5);
                                container.delete(fctx.allowedMIMETypes);

_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs

Reply via email to