Author: toad
Date: 2007-12-18 14:52:49 +0000 (Tue, 18 Dec 2007)
New Revision: 16670

Modified:
   trunk/freenet/src/freenet/node/RequestHandler.java
Log:
Handle the bug/impossible case correctly: send a RejectedOverload.

Modified: trunk/freenet/src/freenet/node/RequestHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestHandler.java  2007-12-18 14:46:10 UTC 
(rev 16669)
+++ trunk/freenet/src/freenet/node/RequestHandler.java  2007-12-18 14:52:49 UTC 
(rev 16670)
@@ -224,6 +224,10 @@
                                if(!rs.transferStarted()) {
                                        // Bug! This is impossible!
                                        Logger.error(this, "Status is SUCCESS 
but we never started a transfer on "+uid);
+                                       // Could be a wierd synchronization 
bug, but we don't want to wait forever, so treat it as overload.
+                           reject = DMT.createFNPRejectedOverload(uid, true);
+                               sendTerminal(reject);
+                               return;
                                } else {
                                        // Race condition. We need to go around 
the loop again and pick up the data transfer
                                        // in waitStatus.


Reply via email to