Author: toad
Date: 2008-03-04 17:34:30 +0000 (Tue, 04 Mar 2008)
New Revision: 18355

Modified:
   trunk/freenet/src/freenet/node/RequestHandler.java
Log:
Rearrange slightly, synchronization fix.

Modified: trunk/freenet/src/freenet/node/RequestHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestHandler.java  2008-03-04 17:21:17 UTC 
(rev 18354)
+++ trunk/freenet/src/freenet/node/RequestHandler.java  2008-03-04 17:34:30 UTC 
(rev 18355)
@@ -137,10 +137,6 @@
                returnLocalData((KeyBlock)o);
             return;
         }
-        synchronized(this) {
-               rs = (RequestSender) o;
-        }
-        rs.addListener(this);

         if(rs == null) { // ran out of htl?
             Message dnf = DMT.createFNPDataNotFound(uid);
@@ -148,11 +144,15 @@
             node.failureTable.onFinalFailure(key, null, htl, 
FailureTable.REJECT_TIME, source);
             sendTerminal(dnf);
             return;
+        } else {
+            synchronized(this) {
+               rs = (RequestSender) o;
+                //If we cannot respond before this time, the 'source' node has 
already fatally timed out (and we need not return packets which will not be 
claimed)
+                       searchStartTime = System.currentTimeMillis();
+                       responseDeadline = searchStartTime + 
RequestSender.FETCH_TIMEOUT + source.getProbableSendQueueTime();
+            }
+            rs.addListener(this);
         }
-        
-        //If we cannot respond before this time, the 'source' node has already 
fatally timed out (and we need not return packets which will not be claimed)
-               searchStartTime = System.currentTimeMillis();
-               responseDeadline = searchStartTime + 
RequestSender.FETCH_TIMEOUT + source.getProbableSendQueueTime();
        }

        public void onReceivedRejectOverload() {


Reply via email to