Author: toad
Date: 2009-03-26 18:03:51 +0000 (Thu, 26 Mar 2009)
New Revision: 26211

Modified:
   branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
Log:
store(,2), remove even if value is null


Modified: 
branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java    
2009-03-26 17:21:56 UTC (rev 26210)
+++ branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java    
2009-03-26 18:03:51 UTC (rev 26211)
@@ -311,7 +311,7 @@
                        synchronized(SimpleManifestPutter.this) {
                                putHandlersWaitingForMetadata.remove(this);
                                if(persistent) {
-                                       
container.store(putHandlersWaitingForMetadata);
+                                       
container.ext().store(putHandlersWaitingForMetadata, 2);
                                        container.store(this);
                                }
                                allMetadatas = 
putHandlersWaitingForMetadata.isEmpty();
@@ -1266,12 +1266,13 @@
                        container.activate(metadataPuttersByMetadata, 2);
                }
                boolean fin = false;
-               ClientPutState oldState;
+               ClientPutState oldState = null;
                Metadata token = (Metadata) state.getToken();
                synchronized(this) {
                        if(persistent()) container.activate(token, 1);
-                       oldState = metadataPuttersByMetadata.remove(token);
-                       if(oldState != null) {
+                       boolean present = 
metadataPuttersByMetadata.containsKey(token);
+                       if(present) {
+                               oldState = 
metadataPuttersByMetadata.remove(token);
                                if(persistent())
                                        
container.activate(metadataPuttersUnfetchable, 2);
                                
if(metadataPuttersUnfetchable.containsKey(token)) {
@@ -1318,12 +1319,13 @@
                if(persistent()) {
                        container.activate(metadataPuttersByMetadata, 2);
                }
-               ClientPutState oldState;
+               ClientPutState oldState = null;
                Metadata token = (Metadata) state.getToken();
                synchronized(this) {
                        if(persistent()) container.activate(token, 1);
-                       oldState = metadataPuttersByMetadata.remove(token);
-                       if(oldState != null) {
+                       boolean present = 
metadataPuttersByMetadata.containsKey(token);
+                       if(present) {
+                               oldState = 
metadataPuttersByMetadata.remove(token);
                                if(persistent())
                                        
container.activate(metadataPuttersUnfetchable, 2);
                                
if(metadataPuttersUnfetchable.containsKey(token)) {
@@ -1555,7 +1557,7 @@
                }
                if(checkFetchable(handler)) {
                        if(persistent()) {
-                               container.store(putHandlersWaitingForMetadata);
+                               
container.ext().store(putHandlersWaitingForMetadata, 2);
                                container.store(this);
                                
container.deactivate(putHandlersWaitingForFetchable, 1);
                                
container.deactivate(metadataPuttersUnfetchable, 1);

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

Reply via email to