From bad4c4a1332b9ef17a33a52cf22ada0e941ee243 Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Thu, 20 Nov 2008 14:59:55 +0000
Subject: [PATCH] SAM: Convert from I2PThread to I2PAppThread so it won't     
 shutdown the whole router when ooming.

---
 apps/sam/java/src/net/i2p/sam/SAMBridge.java            | 6 +++---
 apps/sam/java/src/net/i2p/sam/SAMHandler.java           | 6 +++---
 apps/sam/java/src/net/i2p/sam/SAMMessageSession.java    | 4 ++--
 apps/sam/java/src/net/i2p/sam/SAMStreamSession.java     | 8 ++++----
 apps/sam/java/src/net/i2p/sam/SAMv2StreamSession.java   | 4 ++--
 apps/sam/java/src/net/i2p/sam/client/SAMReader.java     | 4 ++--
 apps/sam/java/src/net/i2p/sam/client/SAMStreamSend.java | 4 ++--
 7 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/apps/sam/java/src/net/i2p/sam/SAMBridge.java b/apps/sam/java/src/net/i2p/sam/SAMBridge.java
index 0dc1b79a85..ee7e33bb4a 100644
--- a/apps/sam/java/src/net/i2p/sam/SAMBridge.java
+++ b/apps/sam/java/src/net/i2p/sam/SAMBridge.java
@@ -24,7 +24,7 @@ import java.util.Properties;
 
 import net.i2p.data.DataFormatException;
 import net.i2p.data.Destination;
-import net.i2p.util.I2PThread;
+import net.i2p.util.I2PAppThread;
 import net.i2p.util.Log;
 
 /**
@@ -223,9 +223,9 @@ public class SAMBridge implements Runnable {
             opts = parseOptions(args, portIndex+1);
         }
         SAMBridge bridge = new SAMBridge(host, port, opts, keyfile);
-        I2PThread t = new I2PThread(bridge, "SAMListener");
+        I2PAppThread t = new I2PAppThread(bridge, "SAMListener");
         if (Boolean.valueOf(System.getProperty("sam.shutdownOnOOM", "false")).booleanValue()) {
-            I2PThread.addOOMEventListener(new I2PThread.OOMEventListener() {
+            t.addOOMEventThreadListener(new I2PAppThread.OOMEventListener() {
                 public void outOfMemory(OutOfMemoryError err) {
                     err.printStackTrace();
                     System.err.println("OOMed, die die die");
diff --git a/apps/sam/java/src/net/i2p/sam/SAMHandler.java b/apps/sam/java/src/net/i2p/sam/SAMHandler.java
index 4b90dbe0f0..64d824a578 100644
--- a/apps/sam/java/src/net/i2p/sam/SAMHandler.java
+++ b/apps/sam/java/src/net/i2p/sam/SAMHandler.java
@@ -14,7 +14,7 @@ import java.io.OutputStream;
 import java.net.Socket;
 import java.util.Properties;
 
-import net.i2p.util.I2PThread;
+import net.i2p.util.I2PAppThread;
 import net.i2p.util.Log;
 
 /**
@@ -28,7 +28,7 @@ public abstract class SAMHandler implements Runnable {
 
     private final static Log _log = new Log(SAMHandler.class);
 
-    protected I2PThread thread = null;
+    protected I2PAppThread thread = null;
     protected SAMBridge bridge = null;
 
     private Object socketWLock = new Object(); // Guards writings on socket
@@ -68,7 +68,7 @@ public abstract class SAMHandler implements Runnable {
      *
      */
     public final void startHandling() {
-        thread = new I2PThread(this, "SAMHandler");
+        thread = new I2PAppThread(this, "SAMHandler");
         thread.start();
     }
     
diff --git a/apps/sam/java/src/net/i2p/sam/SAMMessageSession.java b/apps/sam/java/src/net/i2p/sam/SAMMessageSession.java
index 0cab9c4c8c..b29b2f84c5 100644
--- a/apps/sam/java/src/net/i2p/sam/SAMMessageSession.java
+++ b/apps/sam/java/src/net/i2p/sam/SAMMessageSession.java
@@ -22,7 +22,7 @@ import net.i2p.data.Base64;
 import net.i2p.data.DataFormatException;
 import net.i2p.data.Destination;
 import net.i2p.util.HexDump;
-import net.i2p.util.I2PThread;
+import net.i2p.util.I2PAppThread;
 import net.i2p.util.Log;
 
 /**
@@ -74,7 +74,7 @@ public abstract class SAMMessageSession {
 
         handler = new SAMMessageSessionHandler(destStream, props);
 
-        Thread t = new I2PThread(handler, "SAMMessageSessionHandler");
+        Thread t = new I2PAppThread(handler, "SAMMessageSessionHandler");
         t.start();
     }
 
diff --git a/apps/sam/java/src/net/i2p/sam/SAMStreamSession.java b/apps/sam/java/src/net/i2p/sam/SAMStreamSession.java
index 8200d7b843..280562e48e 100644
--- a/apps/sam/java/src/net/i2p/sam/SAMStreamSession.java
+++ b/apps/sam/java/src/net/i2p/sam/SAMStreamSession.java
@@ -35,7 +35,7 @@ import net.i2p.data.DataFormatException;
 import net.i2p.data.DataHelper;
 import net.i2p.data.Destination;
 import net.i2p.util.ByteCache;
-import net.i2p.util.I2PThread;
+import net.i2p.util.I2PAppThread;
 import net.i2p.util.Log;
 
 /**
@@ -160,7 +160,7 @@ public class SAMStreamSession {
 
         if (canReceive) {
             server = new SAMStreamSessionServer();
-            Thread t = new I2PThread(server, "SAMStreamSessionServer");
+            Thread t = new I2PAppThread(server, "SAMStreamSessionServer");
 
             t.start();
         }
@@ -315,9 +315,9 @@ public class SAMStreamSession {
             sendersMap.put(new Integer(id), sender);
         }
 
-        I2PThread t = new I2PThread(reader, "SAMReader" + id);
+        I2PAppThread t = new I2PAppThread(reader, "SAMReader" + id);
         t.start();
-        t = new I2PThread(sender, "SAMSender" + id);
+        t = new I2PAppThread(sender, "SAMSender" + id);
         t.start();
 
         return id;
diff --git a/apps/sam/java/src/net/i2p/sam/SAMv2StreamSession.java b/apps/sam/java/src/net/i2p/sam/SAMv2StreamSession.java
index 379bea58c0..de5b7851bc 100644
--- a/apps/sam/java/src/net/i2p/sam/SAMv2StreamSession.java
+++ b/apps/sam/java/src/net/i2p/sam/SAMv2StreamSession.java
@@ -26,7 +26,7 @@ import net.i2p.data.DataFormatException;
 import net.i2p.data.DataHelper;
 import net.i2p.data.Destination;
 import net.i2p.util.ByteCache;
-import net.i2p.util.I2PThread;
+import net.i2p.util.I2PAppThread;
 import net.i2p.util.Log;
 
 /**
@@ -121,7 +121,7 @@ public class SAMv2StreamSession extends SAMStreamSession
 
 			connector = new StreamConnector ( id, d, opts );
 			
-			I2PThread connectThread = new I2PThread ( connector, "StreamConnector" + id ) ;
+			I2PAppThread connectThread = new I2PAppThread ( connector, "StreamConnector" + id ) ;
 
 			connectThread.start() ;
 
diff --git a/apps/sam/java/src/net/i2p/sam/client/SAMReader.java b/apps/sam/java/src/net/i2p/sam/client/SAMReader.java
index e3736d3623..0421a64580 100644
--- a/apps/sam/java/src/net/i2p/sam/client/SAMReader.java
+++ b/apps/sam/java/src/net/i2p/sam/client/SAMReader.java
@@ -8,7 +8,7 @@ import java.util.StringTokenizer;
 
 import net.i2p.I2PAppContext;
 import net.i2p.data.DataHelper;
-import net.i2p.util.I2PThread;
+import net.i2p.util.I2PAppThread;
 import net.i2p.util.Log;
 
 /**
@@ -29,7 +29,7 @@ public class SAMReader {
     
     public void startReading() {
         _live = true;
-        I2PThread t = new I2PThread(new Runner(), "SAM reader");
+        I2PAppThread t = new I2PAppThread(new Runner(), "SAM reader");
         t.start();
     }
     public void stopReading() { _live = false; }
diff --git a/apps/sam/java/src/net/i2p/sam/client/SAMStreamSend.java b/apps/sam/java/src/net/i2p/sam/client/SAMStreamSend.java
index 207c9446ca..4e9d1133b0 100644
--- a/apps/sam/java/src/net/i2p/sam/client/SAMStreamSend.java
+++ b/apps/sam/java/src/net/i2p/sam/client/SAMStreamSend.java
@@ -10,7 +10,7 @@ import java.util.Map;
 
 import net.i2p.I2PAppContext;
 import net.i2p.data.DataHelper;
-import net.i2p.util.I2PThread;
+import net.i2p.util.I2PAppThread;
 import net.i2p.util.Log;
 
 /**
@@ -145,7 +145,7 @@ public class SAMStreamSend {
         Sender sender = new Sender();
         boolean ok = sender.openConnection();
         if (ok) {
-            I2PThread t = new I2PThread(sender, "Sender");
+            I2PAppThread t = new I2PAppThread(sender, "Sender");
             t.start();
         }
     }
-- 
GitLab