Author: toad
Date: 2009-01-16 14:23:35 +0000 (Fri, 16 Jan 2009)
New Revision: 25082

Modified:
   trunk/freenet/src/freenet/node/RequestSender.java
Log:
Fix IllegalMonitorStateException. Refactor slightly.


Modified: trunk/freenet/src/freenet/node/RequestSender.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestSender.java   2009-01-16 14:08:28 UTC 
(rev 25081)
+++ trunk/freenet/src/freenet/node/RequestSender.java   2009-01-16 14:23:35 UTC 
(rev 25082)
@@ -790,7 +790,7 @@
                                                                        
synchronized(RequestSender.this) {
                                                                                
if(transferringFrom != from) return;
                                                                        }
-                                                                       
node.makeTurtle(RequestSender.this);
+                                                                       
makeTurtle();
                                                                }
                                                
                                        }, 60*1000);
@@ -977,6 +977,13 @@
         }
        }
 
+       protected void makeTurtle() {
+               synchronized(this) {
+                       if(turtleMode) return;
+               }
+               node.makeTurtle(RequestSender.this);
+       }
+
        /**
      * Finish fetching an SSK. We must have received the data, the headers and 
the pubkey by this point.
      * @param next The node we received the data from.
@@ -1480,7 +1487,6 @@
                        abortDownstreamTransfersReason = reason;
                        abortDownstreamTransfersDesc = desc;
                        sentAbortDownstreamTransfers = true;
-                       notifyAll();
                        for (Listener l : listeners) {
                                try {
                                        l.onAbortDownstreamTransfers(reason, 
desc);
@@ -1491,6 +1497,9 @@
                        }
                        listeners.clear();
                }
+               synchronized(this) {
+                       notifyAll();
+               }
        }
        
        public int getPriority() {

_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs

Reply via email to