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);