Author: toad
Date: 2006-01-07 18:08:41 +0000 (Sat, 07 Jan 2006)
New Revision: 7802

Modified:
   trunk/freenet/src/freenet/node/LocationManager.java
   trunk/freenet/src/freenet/node/PeerManager.java
   trunk/freenet/src/freenet/node/Version.java
Log:
330:
Fix major swapping related bug (lock leak).

Modified: trunk/freenet/src/freenet/node/LocationManager.java
===================================================================
--- trunk/freenet/src/freenet/node/LocationManager.java 2006-01-07 16:56:52 UTC 
(rev 7801)
+++ trunk/freenet/src/freenet/node/LocationManager.java 2006-01-07 18:08:41 UTC 
(rev 7802)
@@ -142,7 +142,7 @@
                             } finally {
                                 unlock();
                             }
-                        }
+                        } else unlock();
                     } else {
                         continue;
                     }
@@ -515,7 +515,10 @@
      * false if it was already locked.
      */
     synchronized boolean lock() {
-        if(locked) return false;
+        if(locked) {
+               Logger.minor(this, "Already locked");
+               return false;
+        }
         Logger.minor(this, "Locking on port "+node.portNumber);
         locked = true;
         lockedTime = System.currentTimeMillis();

Modified: trunk/freenet/src/freenet/node/PeerManager.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerManager.java     2006-01-07 16:56:52 UTC 
(rev 7801)
+++ trunk/freenet/src/freenet/node/PeerManager.java     2006-01-07 18:08:41 UTC 
(rev 7802)
@@ -321,7 +321,7 @@
     /**
      * Distance between two locations.
      */
-    static double distance(double d, double loc) {
+    public static double distance(double d, double loc) {
         // Circular keyspace
         double dist = Math.abs(d-loc);
         double min = Math.min(d, loc);

Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2006-01-07 16:56:52 UTC (rev 
7801)
+++ trunk/freenet/src/freenet/node/Version.java 2006-01-07 18:08:41 UTC (rev 
7802)
@@ -20,10 +20,10 @@
        public static final String protocolVersion = "1.0";

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

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

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


Reply via email to