Author: toad
Date: 2007-03-25 00:55:41 +0000 (Sun, 25 Mar 2007)
New Revision: 12359
Modified:
trunk/freenet/src/freenet/client/async/SingleFileFetcher.java
trunk/freenet/src/freenet/client/async/SplitFileFetcher.java
Log:
Run splitfile.schedule() off-thread
Modified: trunk/freenet/src/freenet/client/async/SingleFileFetcher.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SingleFileFetcher.java
2007-03-24 23:52:08 UTC (rev 12358)
+++ trunk/freenet/src/freenet/client/async/SingleFileFetcher.java
2007-03-25 00:55:41 UTC (rev 12359)
@@ -406,7 +406,7 @@
SplitFileFetcher sf = new
SplitFileFetcher(metadata, rcb, parent, ctx,
decompressors, clientMetadata,
actx, recursionLevel, returnBucket, token);
parent.onTransition(this, sf);
- sf.schedule();
+ sf.scheduleOffThread();
rcb.onBlockSetFinished(this);
// SplitFile will now run.
// Then it will return data to rcd.
Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcher.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SplitFileFetcher.java
2007-03-24 23:52:08 UTC (rev 12358)
+++ trunk/freenet/src/freenet/client/async/SplitFileFetcher.java
2007-03-25 00:55:41 UTC (rev 12359)
@@ -282,4 +282,14 @@
return token;
}
+ public void scheduleOffThread() {
+ Thread t = new Thread(new Runnable() {
+ public void run() {
+ schedule();
+ }
+ }, "Splitfile scheduler thread for "+this);
+ t.setDaemon(true);
+ t.start();
+ }
+
}