Author: toad
Date: 2008-12-23 15:12:45 +0000 (Tue, 23 Dec 2008)
New Revision: 24768

Modified:
   
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java
Log:
RegisterMeRunner is only needed for inserts.


Modified: 
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java  
    2008-12-23 14:35:52 UTC (rev 24767)
+++ 
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java  
    2008-12-23 15:12:45 UTC (rev 24768)
@@ -118,6 +118,7 @@
                        keysFetching = new HashSet();
                else
                        keysFetching = null;
+               if(isInsertScheduler) {
                preRegisterMeRunner = new DBJob() {
 
                        public void run(ObjectContainer container, 
ClientContext context) {
@@ -150,7 +151,7 @@
                                for(int 
i=RequestStarter.MAXIMUM_PRIORITY_CLASS;i<=RequestStarter.MINIMUM_PRIORITY_CLASS;i++)
 {
                                        Query query = container.query();
                                        query.constrain(RegisterMe.class);
-                                       query.descend("priority").constrain(i);
+                                       
query.descend("core").constrain(ClientRequestSchedulerCore.this).and(query.descend("priority").constrain(i));
                                        results = query.execute();
                                        if(results.hasNext()) {
                                                break;
@@ -200,6 +201,7 @@
                        
                };
                registerMeRunner = new RegisterMeRunner();
+               }
                loadKeyListeners(container, context);
        }
        
@@ -229,7 +231,8 @@
        }
        
        private final void startRegisterMeRunner(DBJobRunner runner) {
-               runner.queue(preRegisterMeRunner, NativeThread.NORM_PRIORITY, 
true);
+               if(isInsertScheduler)
+                       runner.queue(preRegisterMeRunner, 
NativeThread.NORM_PRIORITY, true);
        }
        
        // We pass in the schedTransient to the next two methods so that we can 
select between either of them.
@@ -653,9 +656,7 @@
                                context.jobRunner.queue(registerMeRunner, 
(NativeThread.NORM_PRIORITY-1) + (boost ? 1 : 0), true);
                        else {
                                if(logMINOR) Logger.minor(this, 
"RegisterMeRunner finished");
-                               boolean rerun;
                                synchronized(ClientRequestSchedulerCore.this) {
-                                       rerun = shouldReRunRegisterMeRunner;
                                        shouldReRunRegisterMeRunner = false;
                                        registerMeSet = null;
                                }

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

Reply via email to