Author: toad
Date: 2005-11-24 19:36:52 +0000 (Thu, 24 Nov 2005)
New Revision: 7583

Modified:
   trunk/freenet/src/freenet/node/InsertSender.java
   trunk/freenet/src/freenet/node/Version.java
Log:
204:
Insert not finished until *ALL* transfers are completed.

Modified: trunk/freenet/src/freenet/node/InsertSender.java
===================================================================
--- trunk/freenet/src/freenet/node/InsertSender.java    2005-11-24 18:14:24 UTC 
(rev 7582)
+++ trunk/freenet/src/freenet/node/InsertSender.java    2005-11-24 19:36:52 UTC 
(rev 7583)
@@ -1,6 +1,8 @@
 package freenet.node;

 import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;

 import freenet.io.comm.DMT;
 import freenet.io.comm.DisconnectedException;
@@ -58,8 +60,7 @@
     final double closestLocation;
     final long startTime;
     private BlockTransmitter bt;
-    private Sender s;
-    private Thread senderThread;
+    private LinkedList senderThreads;

     private int status = -1;
     static final int NOT_FINISHED = -1;
@@ -187,10 +188,11 @@

             Logger.minor(this, "Sending data");
             if(receiveFailed) return;
-            s = new Sender();
-            senderThread = new Thread(s);
+            Sender s = new Sender();
+            Thread senderThread = new Thread(s);
             senderThread.setDaemon(true);
             senderThread.start();
+            senderThreads.add(senderThread);

             if(receiveFailed) return;
             try {
@@ -304,7 +306,8 @@
                throw new IllegalStateException("finish() called with "+code+" 
when was already "+status);
         status = code;

-        if(senderThread != null) {
+        for(Iterator i = senderThreads.iterator();i.hasNext();) {
+               Thread senderThread = (Thread) i.next();
                while(senderThread.isAlive()) {
                        try {
                                senderThread.join();

Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2005-11-24 18:14:24 UTC (rev 
7582)
+++ trunk/freenet/src/freenet/node/Version.java 2005-11-24 19:36:52 UTC (rev 
7583)
@@ -20,10 +20,10 @@
        public static final String protocolVersion = "1.0";

        /** The build number of the current revision */
-       public static final int buildNumber = 203;
+       public static final int buildNumber = 204;

        /** Oldest build of Fred we will talk to */
-       public static final int lastGoodBuild = 203;
+       public static final int lastGoodBuild = 204;

        /** The highest reported build of fred */
        public static int highestSeenBuild = buildNumber;


Reply via email to