Author: toad
Date: 2008-06-26 16:37:22 +0000 (Thu, 26 Jun 2008)
New Revision: 20754

Modified:
   branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
Log:
Reactivation in jobRunner jobs

Modified: 
branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java  
2008-06-26 16:20:12 UTC (rev 20753)
+++ branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java  
2008-06-26 16:37:22 UTC (rev 20754)
@@ -191,6 +191,7 @@
                                jobRunner.queue(new DBJob() {

                                        public void run(ObjectContainer 
container, ClientContext context) {
+                                               container.activate(getter, 1);
                                                
schedCore.addPendingKeys(getter, container);
                                                schedCore.queueRegister(getter, 
databaseExecutor, container);
                                                final Object[] keyTokens = 
getter.sendableKeys(container);
@@ -234,6 +235,7 @@
                                        jobRunner.queue(new DBJob() {

                                                public void run(ObjectContainer 
container, ClientContext context) {
+                                                       container.activate(req, 
1);
                                                        
schedCore.queueRegister(req, databaseExecutor, selectorContainer);
                                                        // Pretend to not be on 
the database thread.
                                                        // In some places (e.g. 
SplitFileInserter.start(), we call register() *many* times within a single 
transaction.
@@ -295,6 +297,7 @@
                                        jobRunner.queue(new DBJob() {

                                                public void run(ObjectContainer 
container, ClientContext context) {
+                                                       container.activate(g, 
1);
                                                        g.onFailure(new 
LowLevelGetException(LowLevelGetException.DECODE_FAILED), token, 
ClientRequestScheduler.this, container, context);
                                                }

@@ -314,6 +317,7 @@
                                                jobRunner.queue(new DBJob() {

                                                        public void 
run(ObjectContainer container, ClientContext context) {
+                                                               
container.activate(g, 1);
                                                                g.onSuccess(b, 
true, t, ClientRequestScheduler.this, container, context);
                                                        }

@@ -350,6 +354,7 @@
                                jobRunner.queue(new DBJob() {

                                        public void run(ObjectContainer 
container, ClientContext context) {
+                                               container.activate(req, 1);
                                                if(anyValid)
                                                        
schedCore.innerRegister(req, random, container);
                                                container.delete(reg);
@@ -474,6 +479,7 @@
                        jobRunner.queue(new DBJob() {

                                public void run(ObjectContainer container, 
ClientContext context) {
+                                       container.activate(getter, 1);
                                        schedCore.removePendingKey(getter, 
complain, key);
                                        if(persistentCooldownQueue != null)
                                                
persistentCooldownQueue.removeKey(key, getter, 
getter.getCooldownWakeupByKey(key, container), container);
@@ -573,6 +579,7 @@
                jobRunner.queue(new DBJob() {

                        public void run(ObjectContainer container, 
ClientContext context) {
+                               container.activate(key, 1);
                                final SendableGet[] gets = 
schedCore.removePendingKey(key);
                                if(gets == null) return;
                                if(persistentCooldownQueue != null) {
@@ -617,6 +624,7 @@
                jobRunner.queue(new DBJob() {

                        public void run(ObjectContainer container, 
ClientContext context) {
+                               container.activate(key, 1);
                                short priority = schedCore.getKeyPrio(key, 
oldPrio, container);
                                if(priority >= oldPrio) return; // already on 
list at >= priority
                                offeredKeys[priority].queueKey(key);


Reply via email to