Author: nextgens
Date: 2008-07-29 23:14:43 +0000 (Tue, 29 Jul 2008)
New Revision: 21498

Modified:
   trunk/freenet/src/freenet/node/PeerManager.java
Log:
fix a NPE

Modified: trunk/freenet/src/freenet/node/PeerManager.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerManager.java     2008-07-29 23:02:45 UTC 
(rev 21497)
+++ trunk/freenet/src/freenet/node/PeerManager.java     2008-07-29 23:14:43 UTC 
(rev 21498)
@@ -975,8 +975,8 @@
                        }

                //racy... getLocation() could have changed
-               if(calculateMisrouting)
-                       if(best != null) {
+               if(best != null) {
+                       if(calculateMisrouting) {
                                
node.nodeStats.routingMissDistance.report(Location.distance(best, 
closest.getLocation()));
                                int numberOfConnected = 
getPeerNodeStatusSize(PEER_NODE_STATUS_CONNECTED, false);
                                int numberOfRoutingBackedOff = 
getPeerNodeStatusSize(PEER_NODE_STATUS_ROUTING_BACKED_OFF, false);
@@ -984,15 +984,16 @@
                                        
node.nodeStats.backedOffPercent.report((double) numberOfRoutingBackedOff / 
(double) (numberOfRoutingBackedOff + numberOfConnected));
                        }

-               //racy... getLocation() could have changed
-               if(best != null && addUnpickedLocsTo != null)
-                       //Add the location which we did not pick, if it exists.
-                       if(closestNotBackedOff != null && closestBackedOff != 
null)
-                               addUnpickedLocsTo.add(new 
Double(closestBackedOff.getLocation()));
+                       //racy... getLocation() could have changed
+                       if(addUnpickedLocsTo != null)
+                               //Add the location which we did not pick, if it 
exists.
+                               if(closestNotBackedOff != null && 
closestBackedOff != null)
+                                       addUnpickedLocsTo.add(new 
Double(closestBackedOff.getLocation()));

-               //TODO: synchronize! ; store the stats here instead of into 
PeerNode?
-               best.incrementNumberOfSelections();
-               numberOfSelectionSamples++;
+                       //TODO: synchronize! ; store the stats here instead of 
into PeerNode?
+                       best.incrementNumberOfSelections();
+                       numberOfSelectionSamples++;
+               }

                return best;
        }


Reply via email to