Author: toad
Date: 2008-04-29 16:41:05 +0000 (Tue, 29 Apr 2008)
New Revision: 19612
Modified:
trunk/freenet/src/freenet/client/async/USKManager.java
Log:
Actually remove the fetcher. We were removing by the value, not by the key, so
of course it didn't work.
Modified: trunk/freenet/src/freenet/client/async/USKManager.java
===================================================================
--- trunk/freenet/src/freenet/client/async/USKManager.java 2008-04-29
16:31:14 UTC (rev 19611)
+++ trunk/freenet/src/freenet/client/async/USKManager.java 2008-04-29
16:41:05 UTC (rev 19612)
@@ -98,6 +98,12 @@
USKFetcher sched = null;
Vector toCancel = null;
synchronized(this) {
+// java.util.Iterator i =
backgroundFetchersByClearUSK.keySet().iterator();
+// int x = 0;
+// while(i.hasNext()) {
+// System.err.println("Fetcher "+x+": "+i.next());
+// x++;
+// }
USKFetcher f = (USKFetcher)
backgroundFetchersByClearUSK.get(clear);
if(f == null) {
f = new USKFetcher(usk, this,
backgroundFetchContext, new USKFetcherWrapper(usk,
RequestStarter.UPDATE_PRIORITY_CLASS, chkRequestScheduler, sskRequestScheduler,
this), 3, true, false);
@@ -111,7 +117,7 @@
if(!fetcher.hasSubscribers()) {
if(toCancel == null) toCancel = new
Vector(2);
toCancel.add(fetcher);
-
backgroundFetchersByClearUSK.remove(fetcher);
+
backgroundFetchersByClearUSK.remove(del);
} else {
if(Logger.shouldLog(Logger.MINOR, this))
Logger.minor(this, "Allowing
temporary background fetcher to continue as it has subscribers... "+fetcher);