From 552f91b6b89a88de12c0c09ea2ed3ddb01663792 Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Fri, 28 Jun 2013 12:40:09 +0000
Subject: [PATCH] dont start thread in constructor

---
 .../src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java    |  1 +
 .../src/net/i2p/i2ptunnel/InternalSocketRunner.java   | 11 +++++++----
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java
index eccdc480e8..3657851438 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 a3f2f1717b..76a8cea7c7 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);
-- 
GitLab