Author: toad
Date: 2008-02-12 23:32:38 +0000 (Tue, 12 Feb 2008)
New Revision: 17846

Modified:
   trunk/freenet/src/freenet/node/LocationManager.java
Log:
Don't unlock here unless there was something thrown

Modified: trunk/freenet/src/freenet/node/LocationManager.java
===================================================================
--- trunk/freenet/src/freenet/node/LocationManager.java 2008-02-12 23:17:05 UTC 
(rev 17845)
+++ trunk/freenet/src/freenet/node/LocationManager.java 2008-02-12 23:32:38 UTC 
(rev 17846)
@@ -895,13 +895,16 @@
                        if(incomingMessageQueue.size() > 
MAX_INCOMING_QUEUE_LENGTH) {
                                // Reject anyway.
                                runNow = false;
+                               if(logMINOR) Logger.minor(this, "Incoming queue 
length too large: "+incomingMessageQueue.size()+" rejecting "+msg);
                        } else {
                                // Queue it.
                                incomingMessageQueue.addLast(msg);
+                               if(logMINOR) Logger.minor(this, "Queued "+msg+" 
queue length "+incomingMessageQueue.size());
                        }
                }
        }
        if(reject) {
+               if(logMINOR) Logger.minor(this, "Rejecting "+msg);
             Message rejected = DMT.createFNPSwapRejected(oldID);
             try {
                 pn.sendAsync(rejected, null, 0, null);
@@ -910,14 +913,16 @@
             }
             swapsRejectedAlreadyLocked++;
        } else if(runNow) {
-               boolean logSwapTime = false;
+               if(logMINOR) Logger.minor(this, "Running "+msg);
+               boolean completed = false;
                try {
                        innerHandleSwapRequest(oldID, newID, pn, msg);
-                       logSwapTime = true;
+                       completed = true;
                } finally {
-                       unlock(logSwapTime);
+                       if(!completed)
+                               unlock(false);
                }
-       } // else it is queued.
+       }
     }

     private void innerHandleSwapRequest(long oldID, long newID, PeerNode pn, 
Message m) {
@@ -925,7 +930,7 @@
         // Locked, do it
         IncomingSwapRequestHandler isrh =
             new IncomingSwapRequestHandler(m, pn, item);
-        if(logMINOR) Logger.minor(this, "Handling... "+oldID);
+        if(logMINOR) Logger.minor(this, "Handling... "+oldID+" from "+pn);
         node.executor.execute(isrh, "Incoming swap request handler for port 
"+node.getDarknetPortNumber());
        }



Reply via email to