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;