[freenet-cvs] r11174 - trunk/freenet/src/freenet/io/comm

toad at freenetproject.org toad at freenetproject.org
Fri Dec 1 18:23:01 UTC 2006


Author: toad
Date: 2006-12-01 18:23:00 +0000 (Fri, 01 Dec 2006)
New Revision: 11174

Modified:
   trunk/freenet/src/freenet/io/comm/UdpSocketManager.java
Log:
Locking: _unclaimed is synched on _filters.

Modified: trunk/freenet/src/freenet/io/comm/UdpSocketManager.java
===================================================================
--- trunk/freenet/src/freenet/io/comm/UdpSocketManager.java	2006-12-01 17:52:48 UTC (rev 11173)
+++ trunk/freenet/src/freenet/io/comm/UdpSocketManager.java	2006-12-01 18:23:00 UTC (rev 11174)
@@ -680,21 +680,25 @@
 	/**
 	 * @return the number of received messages that are currently unclaimed
 	 */
-	public synchronized int getUnclaimedFIFOSize() {
-		return _unclaimed.size();
+	public int getUnclaimedFIFOSize() {
+		synchronized(_filters) { // FIXME unnecessary synch?
+			return _unclaimed.size();
+		}
 	}
 	
-	public synchronized Map getUnclaimedFIFOMessageCounts() {
+	public Map getUnclaimedFIFOMessageCounts() {
 		Map messageCounts = new HashMap();
-		for (ListIterator i = _unclaimed.listIterator(); i.hasNext();) {
-			Message m = (Message) i.next();
-			String messageName = m.getSpec().getName();
-			Integer messageCount = (Integer) messageCounts.get(messageName);
-			if (messageCount == null) {
-				messageCounts.put(messageName, new Integer(1) );
-			} else {
-				messageCount = new Integer(messageCount.intValue() + 1);
-				messageCounts.put(messageName, messageCount );
+		synchronized(_filters) {
+			for (ListIterator i = _unclaimed.listIterator(); i.hasNext();) {
+				Message m = (Message) i.next();
+				String messageName = m.getSpec().getName();
+				Integer messageCount = (Integer) messageCounts.get(messageName);
+				if (messageCount == null) {
+					messageCounts.put(messageName, new Integer(1) );
+				} else {
+					messageCount = new Integer(messageCount.intValue() + 1);
+					messageCounts.put(messageName, messageCount );
+				}
 			}
 		}
 		return messageCounts;




More information about the cvs mailing list