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 {


Reply via email to