forked from I2P_Developers/i2p.i2p
i2ptunnel: Catch and log uncaught errors in thread pool
This commit is contained in:
@@ -752,10 +752,17 @@ public abstract class I2PTunnelClientBase extends I2PTunnelTask implements Runna
|
|||||||
* Blocking runner, used during the connection establishment
|
* Blocking runner, used during the connection establishment
|
||||||
*/
|
*/
|
||||||
private class BlockingRunner implements Runnable {
|
private class BlockingRunner implements Runnable {
|
||||||
private Socket _s;
|
private final Socket _s;
|
||||||
public BlockingRunner(Socket s) { _s = s; }
|
public BlockingRunner(Socket s) { _s = s; }
|
||||||
public void run() {
|
public void run() {
|
||||||
clientConnectionRun(_s);
|
try {
|
||||||
|
clientConnectionRun(_s);
|
||||||
|
} catch (Throwable t) {
|
||||||
|
// probably an IllegalArgumentException from
|
||||||
|
// connecting to the router in a delay-open or
|
||||||
|
// close-on-idle tunnel (in connectManager() above)
|
||||||
|
_log.error("Uncaught error in i2ptunnel client", t);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -570,7 +570,11 @@ public class I2PTunnelServer extends I2PTunnelTask implements Runnable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void run() {
|
public void run() {
|
||||||
blockingHandle(_i2ps);
|
try {
|
||||||
|
blockingHandle(_i2ps);
|
||||||
|
} catch (Throwable t) {
|
||||||
|
_log.error("Uncaught error in i2ptunnel server", t);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
17
history.txt
17
history.txt
@@ -1,3 +1,20 @@
|
|||||||
|
2015-04-21 zzz
|
||||||
|
* i2ptunnel: Log uncaught errors in thread pool
|
||||||
|
* Reseed: Disable non-su3 reseeding
|
||||||
|
* Router timestamper:
|
||||||
|
- Add country-to-continent mapping
|
||||||
|
- Add continent zones as fallback
|
||||||
|
- Don't start threads in constructors
|
||||||
|
* Transports: Reduce idle timeouts
|
||||||
|
|
||||||
|
2015-04-20 zzz
|
||||||
|
* Blockfile: Unroll recursive initialization
|
||||||
|
* EepGet: Set soTimeout for non-proxied fetches to enforce
|
||||||
|
header timeout and prevent long reseed hangs
|
||||||
|
* Reseed:
|
||||||
|
- Honor SSL/non-SSL setting when custom reseed list is set (ticket #1136)
|
||||||
|
- Remove all default HTTP URLs (ticket #1514)
|
||||||
|
|
||||||
2015-04-17 zzz
|
2015-04-17 zzz
|
||||||
Prop from i2p.i2p.zzz.test2:
|
Prop from i2p.i2p.zzz.test2:
|
||||||
* Console: Set session cookies to HttpOnly
|
* Console: Set session cookies to HttpOnly
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ public class RouterVersion {
|
|||||||
/** deprecated */
|
/** deprecated */
|
||||||
public final static String ID = "Monotone";
|
public final static String ID = "Monotone";
|
||||||
public final static String VERSION = CoreVersion.VERSION;
|
public final static String VERSION = CoreVersion.VERSION;
|
||||||
public final static long BUILD = 5;
|
public final static long BUILD = 6;
|
||||||
|
|
||||||
/** for example "-test" */
|
/** for example "-test" */
|
||||||
public final static String EXTRA = "";
|
public final static String EXTRA = "";
|
||||||
|
|||||||
Reference in New Issue
Block a user