Author: toad
Date: 2009-03-17 15:18:43 +0000 (Tue, 17 Mar 2009)
New Revision: 26063
Modified:
branches/db4o/freenet/src/freenet/client/async/ClientGetter.java
branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java
Log:
Fix FileBucket leak in persistent downloads, and probably NPE on restarting
failed downloads too: Remove the returnBucket in ClientGetter.removeFrom()
Modified: branches/db4o/freenet/src/freenet/client/async/ClientGetter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/ClientGetter.java
2009-03-17 15:16:55 UTC (rev 26062)
+++ branches/db4o/freenet/src/freenet/client/async/ClientGetter.java
2009-03-17 15:18:43 UTC (rev 26063)
@@ -426,6 +426,10 @@
ctx.removeFrom(container);
container.activate(actx, 5);
actx.removeFrom(container);
+ if(returnBucket != null) {
+ container.activate(returnBucket, 1);
+ returnBucket.removeFrom(container);
+ }
super.removeFrom(container, context);
}
}
Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java 2009-03-17
15:16:55 UTC (rev 26062)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java 2009-03-17
15:18:43 UTC (rev 26063)
@@ -436,8 +436,6 @@
trySendAllDataMessage(adm, null, container);
if(!dontFree) {
data.free();
- if(persistenceType == PERSIST_FOREVER)
- data.removeFrom(container);
}
if(persistenceType == PERSIST_FOREVER) {
returnBucket.storeTo(container);
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs