Author: toad
Date: 2009-03-13 22:39:07 +0000 (Fri, 13 Mar 2009)
New Revision: 26035

Modified:
   branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
Log:
Old state too


Modified: 
branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java    
2009-03-13 22:38:27 UTC (rev 26034)
+++ branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java    
2009-03-13 22:39:07 UTC (rev 26035)
@@ -1207,8 +1207,9 @@
                        container.activate(metadataPuttersByMetadata, 2);
                }
                boolean fin = false;
+               ClientPutState oldState;
                synchronized(this) {
-                       metadataPuttersByMetadata.remove(state.getToken());
+                       oldState = 
metadataPuttersByMetadata.remove(state.getToken());
                        if(!metadataPuttersByMetadata.isEmpty()) {
                                if(logMINOR) Logger.minor(this, "Still running 
metadata putters: "+metadataPuttersByMetadata.size());
                        } else {
@@ -1233,6 +1234,10 @@
                        container.store(metadataPuttersByMetadata);
                        container.deactivate(metadataPuttersByMetadata, 1);
                        state.removeFrom(container, context);
+                       if(oldState != state) {
+                               container.activate(oldState, 1);
+                               oldState.removeFrom(container, context);
+                       }
                }
                if(fin)
                        complete(container, context);

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

Reply via email to