Author: toad
Date: 2009-02-12 14:17:42 +0000 (Thu, 12 Feb 2009)
New Revision: 25593
Modified:
branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
branches/db4o/freenet/src/freenet/client/async/PersistentChosenRequest.java
Log:
Wake up starter after completing a PCR on an insert, because
SplitFileInserterSegment's may add blocks during the execution of a PCR
Modified:
branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
2009-02-12 14:14:54 UTC (rev 25592)
+++ branches/db4o/freenet/src/freenet/client/async/ClientRequestScheduler.java
2009-02-12 14:17:42 UTC (rev 25593)
@@ -1140,5 +1140,9 @@
Logger.error(this, "Not storing ClientRequestScheduler in
database", new Exception("error"));
return false;
}
+
+ public void wakeStarter() {
+ starter.wakeUp();
+ }
}
Modified:
branches/db4o/freenet/src/freenet/client/async/PersistentChosenRequest.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/PersistentChosenRequest.java
2009-02-12 14:14:54 UTC (rev 25592)
+++ branches/db4o/freenet/src/freenet/client/async/PersistentChosenRequest.java
2009-02-12 14:17:42 UTC (rev 25593)
@@ -213,6 +213,15 @@
}
}
scheduler.removeRunningRequest(request);
+ if(request instanceof SendableInsert) {
+ // More blocks may have been added, because splitfile
inserts
+ // do not separate retries into separate
SendableInsert's.
+ if(!container.ext().isActive(request))
+ container.activate(request, 1);
+ if(!request.isEmpty(container)) {
+ request.getScheduler(context).wakeStarter();
+ }
+ }
if(!alreadyActive)
container.deactivate(request, 1);
}
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs