Author: toad
Date: 2007-08-31 15:08:12 +0000 (Fri, 31 Aug 2007)
New Revision: 14938
Modified:
trunk/freenet/src/freenet/client/async/SimpleManifestPutter.java
Log:
Only need synchronization when getting the array and on isFinished().
=> don't hold the SimpleManifestPutter lock for ages
Modified: trunk/freenet/src/freenet/client/async/SimpleManifestPutter.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SimpleManifestPutter.java
2007-08-31 15:06:37 UTC (rev 14937)
+++ trunk/freenet/src/freenet/client/async/SimpleManifestPutter.java
2007-08-31 15:08:12 UTC (rev 14938)
@@ -244,6 +244,7 @@
synchronized(this) {
running = (PutHandler[])
runningPutHandlers.toArray(new PutHandler[runningPutHandlers.size()]);
+ }
try {
for(int i=0;i<running.length;i++) {
running[i].start();
@@ -264,7 +265,6 @@
cancelAndFinish();
throw e;
}
- }
}
private void makePutHandlers(HashMap manifestElements, HashMap
putHandlersByName) throws InsertException {