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