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


Reply via email to