Author: toad
Date: 2008-06-16 22:39:24 +0000 (Mon, 16 Jun 2008)
New Revision: 20392

Modified:
   branches/db4o/freenet/src/freenet/node/fcp/ClientPutDir.java
   branches/db4o/freenet/src/freenet/node/fcp/ClientRequest.java
Log:
Not that way!

Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientPutDir.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientPutDir.java        
2008-06-16 22:36:04 UTC (rev 20391)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientPutDir.java        
2008-06-16 22:39:24 UTC (rev 20392)
@@ -358,10 +358,15 @@
                return true;
        }

-       public boolean restart(ObjectContainer container, ClientContext 
context) throws InsertException {
+       public boolean restart(ObjectContainer container, ClientContext 
context) {
                if(!canRestart()) return false;
                setVarsRestart();
-               makePutter();
+               try {
+                       makePutter();
+               } catch (InsertException e) {
+                       onFailure(e, putter, container);
+                       return false;
+               }
                start(container, context);
                return true;
        }

Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientRequest.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientRequest.java       
2008-06-16 22:36:04 UTC (rev 20391)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientRequest.java       
2008-06-16 22:39:24 UTC (rev 20392)
@@ -300,7 +300,7 @@

        public abstract boolean canRestart();

-       public abstract boolean restart(ObjectContainer container, 
ClientContext context) throws InsertException;
+       public abstract boolean restart(ObjectContainer container, 
ClientContext context);

        protected abstract FCPMessage persistentTagMessage();

@@ -366,14 +366,16 @@
                fs.put(name, bucket.toFieldSet());
        }

-       public void restartAsync(Executor executor) {
+       public void restartAsync(Executor executor, FCPServer server) {
                synchronized(this) {
                        this.started = false;
                }
-               executor.execute(new Runnable() {
-                       public void run() {
-                               restart();
+               server.core.clientContext.jobRunner.queue(new DBJob() {
+
+                       public void run(ObjectContainer container, 
ClientContext context) {
+                               restart(container, context);
                        }
-               }, "Restarting "+this);
+                       
+               }, NativeThread.HIGH_PRIORITY, false);
        }
 }


Reply via email to