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() {