Author: toad
Date: 2007-02-03 18:47:54 +0000 (Sat, 03 Feb 2007)
New Revision: 11665

Modified:
   trunk/freenet/src/freenet/node/PeerNode.java
Log:
Another locking fix

Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java        2007-02-03 18:45:08 UTC 
(rev 11664)
+++ trunk/freenet/src/freenet/node/PeerNode.java        2007-02-03 18:47:54 UTC 
(rev 11665)
@@ -1574,12 +1574,11 @@
      */
     public void verified(KeyTracker tracker) {
        long now = System.currentTimeMillis();
+       KeyTracker completelyDeprecatedTracker;
        synchronized(this) {
                if(tracker == unverifiedTracker) {
                        if(logMINOR) Logger.minor(this, "Promoting unverified 
tracker "+tracker+" for "+getPeer());
-                       if(previousTracker != null) {
-                               previousTracker.completelyDeprecated(tracker);
-                       }
+                       completelyDeprecatedTracker = previousTracker;
                        previousTracker = currentTracker;
                        if(previousTracker != null)
                                previousTracker.deprecated();
@@ -1594,6 +1593,9 @@
        }
         setPeerNodeStatus(now);
         node.peers.addConnectedPeer(this);
+               if(completelyDeprecatedTracker != null) {
+                       
completelyDeprecatedTracker.completelyDeprecated(tracker);
+               }
     }

     private synchronized boolean invalidVersion() {


Reply via email to