diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java index eccdc480e854f1cf1380f22e5bc88088963ea40f..36578514380c13f6ec50c9dde9ea81ed0b01d89d 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java @@ -287,6 +287,7 @@ public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements Runn _context.statManager().createRateStat("i2ptunnel.httpExpanded", "size transferred after expansion", "I2PTunnel", new long[] { 60*60*1000 }); super.startRunning(); this.isr = new InternalSocketRunner(this); + this.isr.start(); _context.portMapper().register(PortMapper.SVC_HTTP_PROXY, getLocalPort()); } diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/InternalSocketRunner.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/InternalSocketRunner.java index a3f2f1717be0e27a4cfca72dabfe2ccfe011aa22..76a8cea7c71c783989669204986a09f55d9cb398 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/InternalSocketRunner.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/InternalSocketRunner.java @@ -14,20 +14,23 @@ import net.i2p.util.Log; * @author zzz * @since 0.7.9 */ -class InternalSocketRunner implements Runnable { +class InternalSocketRunner extends I2PAppThread { private final I2PTunnelClientBase client; private final int port; private ServerSocket ss; private volatile boolean open; - /** starts the runner */ + /** + * Does not start the runner, caller must call start() + */ InternalSocketRunner(I2PTunnelClientBase client) { + super("Internal socket port " + client.getLocalPort()); + setDaemon(true); this.client = client; this.port = client.getLocalPort(); - Thread t = new I2PAppThread(this, "Internal socket port " + this.port, true); - t.start(); } + @Override public final void run() { try { this.ss = new InternalServerSocket(this.port);