Author: toad
Date: 2007-11-30 23:24:25 +0000 (Fri, 30 Nov 2007)
New Revision: 16165

Modified:
   trunk/freenet/src/freenet/node/RequestSender.java
Log:
Move the catch(Throwable) out to a wrapper method, so we don't miss exceptions 
in future

Modified: trunk/freenet/src/freenet/node/RequestSender.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestSender.java   2007-11-30 23:22:41 UTC 
(rev 16164)
+++ trunk/freenet/src/freenet/node/RequestSender.java   2007-11-30 23:24:25 UTC 
(rev 16165)
@@ -118,15 +118,26 @@
     }

     public void run() {
+        short origHTL = htl;
+        try {
+               realRun();
+        } catch (Throwable t) {
+            Logger.error(this, "Caught "+t, t);
+            finish(INTERNAL_ERROR, null);
+        } finally {
+               if(logMINOR) Logger.minor(this, "Leaving RequestSender.run() 
for "+uid);
+            node.removeRequestSender(key, origHTL, this);
+        }
+    }
+
+    private void realRun() {
            freenet.support.Logger.OSThread.logPID(this);
         if((key instanceof NodeSSK) && (pubKey == null)) {
                pubKey = ((NodeSSK)key).getPubKey();
         }

-        short origHTL = htl;
         HashSet nodesRoutedTo = new HashSet();
         HashSet nodesNotIgnored = new HashSet();
-        try {
         while(true) {
             if(logMINOR) Logger.minor(this, "htl="+htl);
             if(htl == 0) {
@@ -477,16 +488,9 @@

             }
         }
-        } catch (Throwable t) {
-            Logger.error(this, "Caught "+t, t);
-            finish(INTERNAL_ERROR, null);
-        } finally {
-               if(logMINOR) Logger.minor(this, "Leaving RequestSender.run() 
for "+uid);
-            node.removeRequestSender(key, origHTL, this);
-        }
-    }
+       }

-    private void finishSSK(PeerNode next) {
+       private void finishSSK(PeerNode next) {
        try {
                        block = new SSKBlock(sskData, headers, (NodeSSK)key, 
false);
                        node.storeShallow(block);


Reply via email to