[freenet-cvs] r16257 - trunk/freenet/src/freenet/node

toad at freenetproject.org toad at freenetproject.org
Tue Dec 4 13:55:22 UTC 2007


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) {




More information about the cvs mailing list