Author: toad
Date: 2009-03-13 22:36:52 +0000 (Fri, 13 Mar 2009)
New Revision: 26031

Modified:
   branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
Log:
Store and deactivate metadataPuttersByMetadata even if we don't complete


Modified: 
branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java    
2009-03-13 21:13:18 UTC (rev 26030)
+++ branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java    
2009-03-13 22:36:52 UTC (rev 26031)
@@ -1206,33 +1206,33 @@
                if(persistent()) {
                        container.activate(metadataPuttersByMetadata, 2);
                }
+               boolean fin = false;
                synchronized(this) {
                        metadataPuttersByMetadata.remove(state.getToken());
                        if(!metadataPuttersByMetadata.isEmpty()) {
                                if(logMINOR) Logger.minor(this, "Still running 
metadata putters: "+metadataPuttersByMetadata.size());
-                               return;
-                       }
+                       } else {
                        Logger.minor(this, "Inserted manifest successfully on 
"+this);
                        insertedManifest = true;
                        if(finished) {
                                if(logMINOR) Logger.minor(this, "Already 
finished");
                                if(persistent())
                                        container.store(this);
-                               return;
-                       }
-                       if(!insertedAllFiles) {
+                       } else if(!insertedAllFiles) {
                                if(logMINOR) Logger.minor(this, "Not inserted 
all files");
                                if(persistent())
                                        container.store(this);
-                               return;
+                       } else {
+                       finished = true;
                        }
-                       finished = true;
+                       }
                }
                if(persistent()) {
                        container.store(metadataPuttersByMetadata);
                        container.store(this);
                        container.deactivate(metadataPuttersByMetadata, 1);
                }
+               if(fin)
                complete(container, context);
        }
        

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

Reply via email to