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();
+       }
+
 }


Reply via email to