Author: toad
Date: 2008-10-03 19:40:38 +0000 (Fri, 03 Oct 2008)
New Revision: 22934
Modified:
branches/db4o/freenet/src/freenet/client/async/MultiPutCompletionCallback.java
Log:
Missing store()s breaking directory inserts
Modified:
branches/db4o/freenet/src/freenet/client/async/MultiPutCompletionCallback.java
===================================================================
---
branches/db4o/freenet/src/freenet/client/async/MultiPutCompletionCallback.java
2008-10-03 19:35:24 UTC (rev 22933)
+++
branches/db4o/freenet/src/freenet/client/async/MultiPutCompletionCallback.java
2008-10-03 19:40:38 UTC (rev 22934)
@@ -1,5 +1,6 @@
package freenet.client.async;
+import java.util.Arrays;
import java.util.Vector;
import com.db4o.ObjectContainer;
@@ -51,9 +52,14 @@
synchronized(this) {
if(finished) return;
waitingFor.remove(state);
- if(!(waitingFor.isEmpty() && started))
+ if(!(waitingFor.isEmpty() && started)) {
+ if(persistent) {
+ container.store(waitingFor);
+ }
return;
+ }
}
+ Logger.minor(this, "Completing...");
complete(null, container, context);
}
@@ -64,7 +70,11 @@
waitingForBlockSet.remove(state);
waitingForFetchable.remove(state);
if(!(waitingFor.isEmpty() && started)) {
+ container.store(waitingFor);
+ container.store(waitingForBlockSet);
+ container.store(waitingForFetchable);
this.e = e;
+ container.store(this);
return;
}
}