Author: toad
Date: 2008-03-31 12:13:01 +0000 (Mon, 31 Mar 2008)
New Revision: 18869
Modified:
trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java
Log:
Catch a throwable when running callbacks
Modified: trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java
===================================================================
--- trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java
2008-03-31 12:12:09 UTC (rev 18868)
+++ trunk/freenet/src/freenet/client/async/ClientRequestScheduler.java
2008-03-31 12:13:01 UTC (rev 18869)
@@ -642,7 +642,11 @@
public void run() {
if(logMINOR) Logger.minor(this, "Running
"+gets.length+" callbacks off-thread for "+block.getKey());
for(int i=0;i<gets.length;i++) {
- gets[i].onGotKey(key, block,
ClientRequestScheduler.this);
+ try {
+ gets[i].onGotKey(key, block,
ClientRequestScheduler.this);
+ } catch (Throwable t) {
+ Logger.error(this, "Caught
"+t+" running callback "+gets[i]+" for "+key);
+ }
}
if(logMINOR) Logger.minor(this, "Finished
running callbacks");
}