Author: robert
Date: 2008-01-25 17:23:10 +0000 (Fri, 25 Jan 2008)
New Revision: 17283
Modified:
trunk/freenet/src/freenet/io/comm/MessageCore.java
Log:
check all filters for timeout
Modified: trunk/freenet/src/freenet/io/comm/MessageCore.java
===================================================================
--- trunk/freenet/src/freenet/io/comm/MessageCore.java 2008-01-25 17:17:47 UTC
(rev 17282)
+++ trunk/freenet/src/freenet/io/comm/MessageCore.java 2008-01-25 17:23:10 UTC
(rev 17283)
@@ -109,10 +109,11 @@
Logger.minor(this, "Removing
"+f);
i.remove();
_timedOutFilters.add(f);
- } else { // Because _filters are in order of
timeout, we
- // can abort the iteration as soon as
we find one that
- // doesn't timeout
- break;
+ } else {
+ // Because f.timedOut() may return true
prematurely if the message-
+ // filter is obsolete, we should not
abort the iteration as soon as
+ // we find one that doesn't timeout.
Although, in theory we could
+ // because of the order of the list (by
earliest timeout first).
}
}
}