Author: robert
Date: 2008-01-29 16:25:59 +0000 (Tue, 29 Jan 2008)
New Revision: 17390

Modified:
   trunk/freenet/src/freenet/node/PeerNode.java
Log:
better locking


Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java        2008-01-29 16:15:53 UTC 
(rev 17389)
+++ trunk/freenet/src/freenet/node/PeerNode.java        2008-01-29 16:25:59 UTC 
(rev 17390)
@@ -2641,7 +2641,7 @@

                messageSpecName = m.getSpec().getName();
                // Synchronize to make increments atomic.
-               synchronized(this) {
+               synchronized(localNodeReceivedMessageTypes) {
                        count = (Long) 
localNodeReceivedMessageTypes.get(messageSpecName);
                        if(count == null)
                                count = new Long(1);
@@ -2655,9 +2655,11 @@
                return new Hashtable(localNodeSentMessageTypes);
        }

-       // Must be synchronized *during the copy*
-       public synchronized Hashtable 
getLocalNodeReceivedMessagesFromStatistic() {
-               return new Hashtable(localNodeReceivedMessageTypes);
+       public Hashtable getLocalNodeReceivedMessagesFromStatistic() {
+               // Must be synchronized *during the copy*
+               synchronized (localNodeReceivedMessageTypes) {
+                       return new Hashtable(localNodeReceivedMessageTypes);
+               }
        }

        synchronized USK getARK() {


Reply via email to