Author: toad
Date: 2009-03-17 23:21:39 +0000 (Tue, 17 Mar 2009)
New Revision: 26073

Modified:
   
branches/db4o/freenet/src/freenet/client/async/MultiPutCompletionCallback.java
Log:
Various leak related fixes


Modified: 
branches/db4o/freenet/src/freenet/client/async/MultiPutCompletionCallback.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/client/async/MultiPutCompletionCallback.java  
    2009-03-17 23:20:58 UTC (rev 26072)
+++ 
branches/db4o/freenet/src/freenet/client/async/MultiPutCompletionCallback.java  
    2009-03-17 23:21:39 UTC (rev 26073)
@@ -96,7 +96,10 @@
                        waitingForFetchable.remove(state);
                        if(!(waitingFor.isEmpty() && started)) {
                                if(this.e != null) {
-                                       if(persistent) 
this.e.removeFrom(container);
+                                       if(persistent) {
+                                               container.activate(this.e, 10);
+                                               this.e.removeFrom(container);
+                                       }
                                }
                                this.e = e;
                                if(persistent)
@@ -120,9 +123,9 @@
                synchronized(this) {
                        if(finished) return;
                        finished = true;
-                       if(e != null && this.e != null && this.e != e) {
-                               if(!(e.getMode() == InsertException.CANCELLED)) 
// Cancelled is okay, ignore it, we cancel after failure sometimes.
-                                       Logger.error(this, "Completing with 
"+e+" but already set "+this.e);
+                       if(e != null && this.e != null && this.e != e && 
persistent) {
+                               container.activate(this.e, 10);
+                               this.e.removeFrom(container);
                        }
                        if(e == null) {
                                e = this.e;

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

Reply via email to