Author: toad
Date: 2007-10-22 18:52:24 +0000 (Mon, 22 Oct 2007)
New Revision: 15476

Modified:
   trunk/freenet/src/freenet/node/CHKInsertSender.java
Log:
Notify waiting nodes list (and therefore CompletionWaiter) if receive failed 
due to rejecting insert.
Maybe this will prevent hanging InsertHandler's?

Modified: trunk/freenet/src/freenet/node/CHKInsertSender.java
===================================================================
--- trunk/freenet/src/freenet/node/CHKInsertSender.java 2007-10-22 18:41:04 UTC 
(rev 15475)
+++ trunk/freenet/src/freenet/node/CHKInsertSender.java 2007-10-22 18:52:24 UTC 
(rev 15476)
@@ -243,7 +243,9 @@
         HashSet nodesNotIgnored = new HashSet();

         while(true) {
-            if(receiveFailed) return; // don't need to set status as killed by 
InsertHandler
+            if(receiveFailed) {
+               return; // don't need to set status as killed by InsertHandler
+            }

             synchronized (this) {
                if(htl == 0) {
@@ -492,7 +494,7 @@
                                                                
Logger.normal(this,
                                                                                
                "Verify failed because data was invalid");
                                                        } catch 
(AbortedException e) {
-                                                               receiveFailed = 
true;
+                                                               receiveFailed();
                                                        }
                                                }
                                                break; // What else can we do?
@@ -510,7 +512,7 @@
                                                                                
Logger.normal(this, "Send failed; have not yet received all data but not 
aborted: " + next);
                                                                }
                                                        } catch 
(AbortedException e) {
-                                                               receiveFailed = 
true;
+                                                               receiveFailed();
                                                        }
                                                }
                                        }


Reply via email to