Author: toad
Date: 2007-04-13 22:04:55 +0000 (Fri, 13 Apr 2007)
New Revision: 12671

Modified:
   trunk/freenet/src/freenet/node/RequestHandler.java
Log:
Sync fix (probably no effect, but...)

Modified: trunk/freenet/src/freenet/node/RequestHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestHandler.java  2007-04-13 21:54:11 UTC 
(rev 12670)
+++ trunk/freenet/src/freenet/node/RequestHandler.java  2007-04-13 22:04:55 UTC 
(rev 12671)
@@ -200,8 +200,13 @@
             node.unlockUID(uid, key instanceof NodeSSK, false);
             if((!finalTransferFailed) && rs != null && status != 
RequestSender.TIMED_OUT && status != RequestSender.GENERATED_REJECTED_OVERLOAD 
                        && status != RequestSender.INTERNAL_ERROR && !thrown) {
-               int sent = rs.getTotalSentBytes() + sentBytes;
-               int rcvd = rs.getTotalReceivedBytes() + receivedBytes;
+               int sent, rcvd;
+               synchronized(this) {
+                       sent = sentBytes;
+                       rcvd = receivedBytes;
+               }
+               sent += rs.getTotalSentBytes();
+               rcvd += rs.getTotalReceivedBytes();
                if(key instanceof NodeSSK) {
                        if(logMINOR) Logger.minor(this, "Remote SSK fetch cost 
"+sent+ '/' +rcvd+" bytes ("+status+ ')');
                        
node.nodeStats.remoteSskFetchBytesSentAverage.report(sent);


Reply via email to