Author: toad
Date: 2007-04-14 19:54:13 +0000 (Sat, 14 Apr 2007)
New Revision: 12713

Modified:
   trunk/freenet/src/freenet/node/CHKInsertSender.java
Log:
sync fixes

Modified: trunk/freenet/src/freenet/node/CHKInsertSender.java
===================================================================
--- trunk/freenet/src/freenet/node/CHKInsertSender.java 2007-04-14 19:50:46 UTC 
(rev 12712)
+++ trunk/freenet/src/freenet/node/CHKInsertSender.java 2007-04-14 19:54:13 UTC 
(rev 12713)
@@ -562,23 +562,23 @@
         }
         // Now wait for transfers, or for downstream transfer notifications.
         if(cw != null) {
+               synchronized(this) {
                while(!allTransfersCompleted) {
                        try {
-                               synchronized (this) {
-                               wait(10*1000);
-                                       }
+                               wait(10*1000);
                        } catch (InterruptedException e) {
                                // Try again
                        }
                }
+               }
         } else {
                if(logMINOR) Logger.minor(this, "No completion waiter");
                // There weren't any transfers
+               synchronized(this) {
                allTransfersCompleted = true;
+               notifyAll();
+               }
         }
-        synchronized (this) {
-            notifyAll();       
-               }
         if(logMINOR) Logger.minor(this, "Returning from finish()");
     }

@@ -700,7 +700,10 @@

                                if(!waitingForAny) {
                                        // All are disconnected
-                                       allTransfersCompleted = true;
+                                       synchronized(CHKInsertSender.this) {
+                                               allTransfersCompleted = true;
+                                               
CHKInsertSender.this.notifyAll();
+                                       }
                                        return;
                                }

@@ -844,7 +847,7 @@
                }
        }

-       public boolean completed() {
+       public synchronized boolean completed() {
                return allTransfersCompleted;
        }



Reply via email to