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);
}
}