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

Reply via email to