Author: toad
Date: 2009-04-01 00:16:39 +0000 (Wed, 01 Apr 2009)
New Revision: 26290
Modified:
branches/db4o/freenet/src/freenet/client/async/ClientGetter.java
Log:
Remove the old currentState too, if it is different
Modified: branches/db4o/freenet/src/freenet/client/async/ClientGetter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/ClientGetter.java
2009-04-01 00:15:29 UTC (rev 26289)
+++ branches/db4o/freenet/src/freenet/client/async/ClientGetter.java
2009-04-01 00:16:39 UTC (rev 26290)
@@ -208,6 +208,7 @@
closeBinaryBlobStream(container, context);
if(persistent())
container.activate(uri, 5);
+ ClientGetState oldState = null;
while(true) {
if(e.mode == FetchException.ARCHIVE_RESTART) {
int ar;
@@ -231,6 +232,7 @@
}
synchronized(this) {
finished = true;
+ oldState = currentState;
currentState = null;
}
if(e.errorCodes != null && e.errorCodes.isOneCodeOnly())
@@ -247,9 +249,15 @@
clientCallback.onFailure(e1, ClientGetter.this,
container);
break;
}
- if(persistent() && state != null) {
- container.activate(state, 1);
- state.removeFrom(container, context);
+ if(persistent()) {
+ if(state != null) {
+ container.activate(state, 1);
+ state.removeFrom(container, context);
+ }
+ if(oldState != state && oldState != null) {
+ container.activate(oldState, 1);
+ oldState.removeFrom(container, context);
+ }
}
}
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs