Author: toad
Date: 2007-10-25 15:31:56 +0000 (Thu, 25 Oct 2007)
New Revision: 15554

Modified:
   trunk/freenet/src/freenet/node/LocationManager.java
Log:
locking fixes

Modified: trunk/freenet/src/freenet/node/LocationManager.java
===================================================================
--- trunk/freenet/src/freenet/node/LocationManager.java 2007-10-25 15:26:00 UTC 
(rev 15553)
+++ trunk/freenet/src/freenet/node/LocationManager.java 2007-10-25 15:31:56 UTC 
(rev 15554)
@@ -868,8 +868,10 @@

     private RecentlyForwardedItem addForwardedItem(long uid, long oid, 
PeerNode pn, PeerNode randomPeer) {
         RecentlyForwardedItem item = new RecentlyForwardedItem(uid, oid, pn, 
randomPeer);
-        recentlyForwardedIDs.put(new Long(uid), item);
-        recentlyForwardedIDs.put(new Long(oid), item);
+        synchronized(recentlyForwardedIDs) {
+               recentlyForwardedIDs.put(new Long(uid), item);
+               recentlyForwardedIDs.put(new Long(oid), item);
+        }
         return item;
     }

@@ -1115,8 +1117,10 @@
         if(item == null) {
             Logger.error(this, "removeRecentlyForwardedItem(null)", new 
Exception("error"));
         }
-        recentlyForwardedIDs.remove(new Long(item.incomingID));
-        recentlyForwardedIDs.remove(new Long(item.outgoingID));
+        synchronized(recentlyForwardedIDs) {
+               recentlyForwardedIDs.remove(new Long(item.incomingID));
+               recentlyForwardedIDs.remove(new Long(item.outgoingID));
+        }
     }

     private static final long MAX_AGE = 7*24*60*60*1000;


Reply via email to