From e67c750fab547d28f56662d111d0b72077a0576f Mon Sep 17 00:00:00 2001 From: zzz Date: Sat, 26 May 2018 20:00:10 +0000 Subject: [PATCH] i2ptunnel: Retry accept after server socket closed (ticket #2003) --- .../java/src/net/i2p/i2ptunnel/I2PTunnelServer.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelServer.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelServer.java index 6ee9eba64c..381f514d0c 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelServer.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelServer.java @@ -593,9 +593,13 @@ public class I2PTunnelServer extends I2PTunnelTask implements Runnable { } catch (ConnectException ce) { if (_log.shouldLog(Log.ERROR)) _log.error("Error accepting", ce); - open = false; if (i2ps != null) try { i2ps.close(); } catch (IOException ioe) {} - break; + try { + Thread.sleep(2*60*1000); + } catch (InterruptedException ie) {} + // Server socket possbily closed out from under us, perhaps as part of a router restart; + // wait a while and try to get a new socket + i2pss = sockMgr.getServerSocket(); } catch(SocketTimeoutException ste) { // ignored, we never set the timeout if (i2ps != null) try { i2ps.close(); } catch (IOException ioe) {}