Author: toad
Date: 2007-04-14 16:26:35 +0000 (Sat, 14 Apr 2007)
New Revision: 12697

Modified:
   trunk/freenet/src/freenet/node/CHKInsertSender.java
Log:
sync fix, don't wait for notifications until transfers have finished

Modified: trunk/freenet/src/freenet/node/CHKInsertSender.java
===================================================================
--- trunk/freenet/src/freenet/node/CHKInsertSender.java 2007-04-14 16:19:56 UTC 
(rev 12696)
+++ trunk/freenet/src/freenet/node/CHKInsertSender.java 2007-04-14 16:26:35 UTC 
(rev 12697)
@@ -591,9 +591,11 @@
      * Called by InsertHandler to notify that the receive has
      * failed.
      */
-    public synchronized void receiveFailed() {
-        receiveFailed = true;
-        notifyAll();
+    public void receiveFailed() {
+       synchronized(nodesWaitingForCompletion) {
+               receiveFailed = true;
+               notifyAll();
+       }
     }

     /**
@@ -671,6 +673,8 @@
                                        Logger.normal(this, "Disconnected: 
"+awc.pn+" in "+CHKInsertSender.this);
                                        continue;
                                }
+                               if(!awc.completedTransfer)
+                                       continue;
                                if(!awc.receivedCompletionNotice) {
                                        MessageFilter m =
                                                
MessageFilter.create().setField(DMT.UID, 
uid).setType(DMT.FNPInsertTransfersCompleted).setSource(awc.pn).setTimeout(timeout);


Reply via email to