Author: toad
Date: 2008-01-25 15:14:55 +0000 (Fri, 25 Jan 2008)
New Revision: 17275
Modified:
trunk/freenet/src/freenet/node/CHKInsertSender.java
Log:
Log an error if we timeout while waiting for the BackgroundTransfer's.
Should never happen ... but it does, at least, it did to me...
Modified: trunk/freenet/src/freenet/node/CHKInsertSender.java
===================================================================
--- trunk/freenet/src/freenet/node/CHKInsertSender.java 2008-01-25 15:05:32 UTC
(rev 17274)
+++ trunk/freenet/src/freenet/node/CHKInsertSender.java 2008-01-25 15:14:55 UTC
(rev 17275)
@@ -730,8 +730,15 @@
* @return True if all background transfers were successful.
*/
private boolean waitForBackgroundTransfers(BackgroundTransfer[]
transfers) {
+ long start = System.currentTimeMillis();
+ // Generous deadline so we catch bugs more obviously
+ long deadline = start + TRANSFER_COMPLETION_ACK_TIMEOUT
* 3;
// MAYBE all done
while(true) {
+ if(System.currentTimeMillis() > deadline) {
+ Logger.error(this, "Timed out waiting
for background transfers! Probably caused by async filter not getting a timeout
notification! DEBUG ME!");
+ return false;
+ }
//If we want to be sure to exit as-soon-as the
transfers are done, then we must hold the lock while we check.
synchronized(backgroundTransfers) {
if(receiveFailed) return false;