Author: toad
Date: 2005-11-29 20:33:41 +0000 (Tue, 29 Nov 2005)
New Revision: 7634
Modified:
trunk/freenet/src/freenet/node/Node.java
trunk/freenet/src/freenet/node/RequestSender.java
trunk/freenet/src/freenet/node/Version.java
Log:
248: (mandatory)
Bug caused idle-looping in RS's wait method.
Timed out was unrecognized in realPutCHK.
Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java 2005-11-29 20:16:42 UTC (rev
7633)
+++ trunk/freenet/src/freenet/node/Node.java 2005-11-29 20:33:41 UTC (rev
7634)
@@ -548,6 +548,7 @@
Logger.error(this, "IS still running in
putCHK!: "+is);
throw new
LowLevelPutException(LowLevelPutException.INTERNAL_ERROR);
case InsertSender.GENERATED_REJECTED_OVERLOAD:
+ case InsertSender.TIMED_OUT:
throw new
LowLevelPutException(LowLevelPutException.REJECTED_OVERLOAD);
case InsertSender.ROUTE_NOT_FOUND:
throw new
LowLevelPutException(LowLevelPutException.ROUTE_NOT_FOUND);
Modified: trunk/freenet/src/freenet/node/RequestSender.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestSender.java 2005-11-29 20:16:42 UTC
(rev 7633)
+++ trunk/freenet/src/freenet/node/RequestSender.java 2005-11-29 20:33:41 UTC
(rev 7634)
@@ -329,6 +329,7 @@
}
boolean hadROLastTimeWaited = false;
+ boolean prbWasNonNull = false;
/**
* Wait until either the transfer has started or we have a
@@ -341,7 +342,10 @@
hadROLastTimeWaited = true;
return true;
}
- if(prb != null) return false;
+ if((!prbWasNonNull) && prb != null) {
+ prbWasNonNull = true;
+ return false;
+ }
if(status != NOT_FINISHED) return false;
try {
wait(10000);
Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2005-11-29 20:16:42 UTC (rev
7633)
+++ trunk/freenet/src/freenet/node/Version.java 2005-11-29 20:33:41 UTC (rev
7634)
@@ -20,10 +20,10 @@
public static final String protocolVersion = "1.0";
/** The build number of the current revision */
- public static final int buildNumber = 247;
+ public static final int buildNumber = 248;
/** Oldest build of Fred we will talk to */
- public static final int lastGoodBuild = 246;
+ public static final int lastGoodBuild = 248;
/** The highest reported build of fred */
public static int highestSeenBuild = buildNumber;