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;