From 3d8365a473826950053e2b8256e4d94a8101d8da Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Thu, 18 Feb 2010 16:32:44 +0000 Subject: [PATCH] * HTTP Proxy: Fix blank page instead of error page for eepsite unreachable --- .../java/src/net/i2p/i2ptunnel/I2PTunnelRunner.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelRunner.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelRunner.java index f408b60154..6be20ba8bb 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelRunner.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelRunner.java @@ -124,11 +124,14 @@ public class I2PTunnelRunner extends I2PAppThread implements I2PSocket.SocketErr OutputStream i2pout = i2ps.getOutputStream(); //new BufferedOutputStream(i2ps.getOutputStream(), MAX_PACKET_SIZE); if (initialI2PData != null) { synchronized (slock) { + // this does not increment totalSent i2pout.write(initialI2PData); - i2pout.flush(); + // do NOT flush here, it will block and then onTimeout.run() won't happen on fail. + //i2pout.flush(); } } if (initialSocketData != null) { + // this does not increment totalReceived out.write(initialSocketData); } if (_log.shouldLog(Log.DEBUG)) @@ -150,6 +153,7 @@ public class I2PTunnelRunner extends I2PAppThread implements I2PSocket.SocketErr if (_log.shouldLog(Log.DEBUG)) _log.debug("runner has a timeout job, totalReceived = " + totalReceived + " totalSent = " + totalSent + " job = " + onTimeout); + // should we only look at totalReceived? if ( (totalSent <= 0) && (totalReceived <= 0) ) onTimeout.run(); } @@ -271,7 +275,7 @@ public class I2PTunnelRunner extends I2PAppThread implements I2PSocket.SocketErr //if (_log.shouldLog(Log.DEBUG)) // _log.debug("Flushing after sending " + len + " bytes through"); if (_log.shouldLog(Log.DEBUG)) - _log.debug(direction + ": " + len + " bytes flushed through to " + _log.debug(direction + ": " + len + " bytes flushed through " + (_toI2P ? "to " : "from ") + i2ps.getPeerDestination().calculateHash().toBase64().substring(0,6)); try { Thread.sleep(I2PTunnel.PACKET_DELAY); -- GitLab