Author: toad
Date: 2007-12-04 13:55:22 +0000 (Tue, 04 Dec 2007)
New Revision: 16257
Modified:
trunk/freenet/src/freenet/node/NodeARKInserter.java
Log:
Fix race condition, fix locking, simplify code
Modified: trunk/freenet/src/freenet/node/NodeARKInserter.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeARKInserter.java 2007-12-04 13:48:55 UTC
(rev 16256)
+++ trunk/freenet/src/freenet/node/NodeARKInserter.java 2007-12-04 13:55:22 UTC
(rev 16257)
@@ -179,18 +179,12 @@
public void onSuccess(BaseClientPutter state) {
if(logMINOR) Logger.minor(this, "ARK insert succeeded");
+ synchronized (this) {
inserter = null;
- boolean myShouldInsert;
- synchronized (this) {
- myShouldInsert = shouldInsert;
- }
- if(myShouldInsert) {
- myShouldInsert = false;
- startInserter();
- }
- synchronized (this){
- shouldInsert = myShouldInsert;
- }
+ if(!shouldInsert) return;
+ shouldInsert = false;
+ }
+ startInserter();
}
public void onFailure(InsertException e, BaseClientPutter state) {