[freenet-cvs] r18362 - trunk/freenet/src/freenet/node

toad at freenetproject.org toad at freenetproject.org
Tue Mar 4 18:03:51 UTC 2008


Author: toad
Date: 2008-03-04 18:03:51 +0000 (Tue, 04 Mar 2008)
New Revision: 18362

Modified:
   trunk/freenet/src/freenet/node/KeyTracker.java
Log:
Improve locking slightly

Modified: trunk/freenet/src/freenet/node/KeyTracker.java
===================================================================
--- trunk/freenet/src/freenet/node/KeyTracker.java	2008-03-04 18:03:01 UTC (rev 18361)
+++ trunk/freenet/src/freenet/node/KeyTracker.java	2008-03-04 18:03:51 UTC (rev 18362)
@@ -1012,8 +1012,11 @@
      * *** Must only be called if the KeyTracker is not to be kept. Otherwise, we may receive some packets twice. ***
      */
     public void completelyDeprecated(KeyTracker newTracker) {
-    	if(_lastThrottle != null)
-    		_lastThrottle.maybeDisconnected();
+    	PacketThrottle throttle;
+    	synchronized(this) {
+    		throttle = _lastThrottle;
+    	}
+    	if(throttle != null) throttle.maybeDisconnected();
     	if(logMINOR) Logger.minor(this, "Completely deprecated: "+this+" in favour of "+newTracker);
     	LimitedRangeIntByteArrayMapElement[] elements = clear();
     	if(elements.length == 0) return; // nothing more to do




More information about the cvs mailing list