Author: toad
Date: 2009-04-07 20:28:16 +0000 (Tue, 07 Apr 2009)
New Revision: 26614

Modified:
   trunk/freenet/src/freenet/node/fcp/ClientRequest.java
Log:
Don't restart non-persistent requests on the database thread


Modified: trunk/freenet/src/freenet/node/fcp/ClientRequest.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientRequest.java       2009-04-07 
15:59:46 UTC (rev 26613)
+++ trunk/freenet/src/freenet/node/fcp/ClientRequest.java       2009-04-07 
20:28:16 UTC (rev 26614)
@@ -6,6 +6,7 @@
 import java.net.MalformedURLException;
 import freenet.client.async.ClientRequester;
 import freenet.keys.FreenetURI;
+import freenet.node.PrioRunnable;
 import freenet.node.RequestClient;
 import freenet.support.Fields;
 import freenet.support.LogThresholdCallback;
@@ -431,10 +432,11 @@
                fs.put(name, bucket.toFieldSet());
        }
 
-       public void restartAsync(FCPServer server) {
+       public void restartAsync(final FCPServer server) {
                synchronized(this) {
                        this.started = false;
                }
+               if(persistenceType == PERSIST_FOREVER) {
                server.core.clientContext.jobRunner.queue(new DBJob() {
 
                        public void run(ObjectContainer container, 
ClientContext context) {
@@ -444,6 +446,19 @@
                        }
                        
                }, NativeThread.HIGH_PRIORITY, false);
+               } else {
+                       server.core.getExecutor().execute(new PrioRunnable() {
+
+                               public int getPriority() {
+                                       return NativeThread.NORM_PRIORITY;
+                               }
+
+                               public void run() {
+                                       restart(null, 
server.core.clientContext);
+                               }
+                               
+                       }, "Restart request");
+               }
        }
 
        /**

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

Reply via email to