Author: toad
Date: 2009-02-14 12:23:30 +0000 (Sat, 14 Feb 2009)
New Revision: 25642

Modified:
   branches/db4o/freenet/src/freenet/client/async/SplitFileInserter.java
Log:
Start inserts immediately, don't schedule a segment scheduler job.
Fixes priority inversion, and faster too.


Modified: branches/db4o/freenet/src/freenet/client/async/SplitFileInserter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SplitFileInserter.java       
2009-02-14 01:41:51 UTC (rev 25641)
+++ branches/db4o/freenet/src/freenet/client/async/SplitFileInserter.java       
2009-02-14 12:23:30 UTC (rev 25642)
@@ -286,33 +286,11 @@
        
        public void start(ObjectContainer container, final ClientContext 
context) throws InsertException {
                for(int i=0;i<segments.length;i++) {
-                       if(persistent) {
+                       if(persistent)
                                container.activate(segments[i], 1);
-                       SplitFileInserterSegmentRegisterJob segJob = new 
SplitFileInserterSegmentRegisterJob(segments[i], NativeThread.NORM_PRIORITY-1);
-                       segJob.schedule(container, context, 
NativeThread.NORM_PRIORITY-1, persistent);
+                       segments[i].start(container, context);
+                       if(persistent)
                                container.deactivate(segments[i], 1);
-                       } else {
-                               if(!getCHKOnly)
-                                       segments[i].start(container, context);
-                               else {
-                                       final SplitFileInserterSegment seg = 
segments[i];
-                                       context.mainExecutor.execute(new 
PrioRunnable() {
-
-                                               public int getPriority() {
-                                                       return 
NativeThread.NORM_PRIORITY;
-                                               }
-
-                                               public void run() {
-                                                       try {
-                                                               seg.start(null, 
context);
-                                                       } catch 
(InsertException e) {
-                                                               fail(e, null, 
context);
-                                                       }
-                                               }
-                                               
-                                       }, "Schedule segment (get chk only)");
-                               }
-                       }
                }
                if(persistent)
                        container.activate(parent, 1);

_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs

Reply via email to