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).
                                }
                        }
                }


Reply via email to