diff --git a/apps/BOB/src/net/i2p/BOB/MUXlisten.java b/apps/BOB/src/net/i2p/BOB/MUXlisten.java index 2c7a649247..776dbf28ac 100644 --- a/apps/BOB/src/net/i2p/BOB/MUXlisten.java +++ b/apps/BOB/src/net/i2p/BOB/MUXlisten.java @@ -265,23 +265,23 @@ public class MUXlisten implements Runnable { } // Wait for child threads and thread groups to die // System.out.println("MUXlisten: waiting for children"); - if (tg.activeCount() + tg.activeGroupCount() != 0) { - tg.interrupt(); // give my stuff a small smack. - while ((tg.activeCount() + tg.activeGroupCount() != 0) && ticks != 0) { - ticks--; - try { - Thread.sleep(100); //sleep for 100 ms (One tenth second) - } catch (InterruptedException ex) { - break quit; - } - } - if (tg.activeCount() + tg.activeGroupCount() != 0) { - break quit; // Uh-oh. - } - } - tg.destroy(); + // if (tg.activeCount() + tg.activeGroupCount() != 0) { + // tg.interrupt(); // give my stuff a small smack. + // while ((tg.activeCount() + tg.activeGroupCount() != 0) && ticks != 0) { + // ticks--; + // try { + // Thread.sleep(100); //sleep for 100 ms (One tenth second) + // } catch (InterruptedException ex) { + // break quit; + // } + // } + // if (tg.activeCount() + tg.activeGroupCount() != 0) { + // break quit; // Uh-oh. + // } + //} + //tg.destroy(); // Zap reference to the ThreadGroup so the JVM can GC it. - tg = null; + //tg = null; } catch (Exception e) { // System.out.println("MUXlisten: Caught an exception" + e); break quit; @@ -305,7 +305,7 @@ public class MUXlisten implements Runnable { // This is here to catch when something fucks up REALLY bad, like those annoying stuck threads! if (tg != null) { - tg.interrupt(); // give my stuff a small smack again. + // tg.interrupt(); // give my stuff a small smack again. if (SS != null) { try { SS.close(); @@ -319,21 +319,11 @@ public class MUXlisten implements Runnable { } catch (IOException e) { } } - I2PSession session = socketManager.getSession(); - if (session != null) { - // System.out.println("I2Plistener: destroySession"); - try { - session.destroySession(); - } catch (I2PSessionException ex) { - // nop - } - } try { socketManager.destroySocketManager(); } catch (Exception e) { // nop } - // ticks = 100; // 10 seconds if (tg.activeCount() + tg.activeGroupCount() != 0) { int foo = tg.activeCount() + tg.activeGroupCount(); int bar = foo; @@ -352,15 +342,6 @@ public class MUXlisten implements Runnable { } bar = foo; try { - session = socketManager.getSession(); - if (session != null) { - // System.out.println("I2Plistener: destroySession"); - try { - session.destroySession(); - } catch (I2PSessionException ex) { - // nop - } - } try { socketManager.destroySocketManager(); } catch (Exception e) { @@ -369,8 +350,6 @@ public class MUXlisten implements Runnable { } catch (Exception e) { // nop } - // tg.interrupt(); // unwedge any blocking threads. - // ticks--; try { Thread.sleep(100); //sleep for 100 ms (One tenth second) } catch (InterruptedException ex) { @@ -379,20 +358,9 @@ public class MUXlisten implements Runnable { } System.out.println("BOB: MUXlisten: Threads went away. Success: " + boner); } -// if (tg.activeCount() + tg.activeGroupCount() == 0) { tg.destroy(); // Zap reference to the ThreadGroup so the JVM can GC it. tg = null; -// } else { -// System.out.println("BOB: MUXlisten: Forcibly killing threads."); -// System.out.println("\n\nBOB: MUXlisten: ThreadGroup dump BEGIN"); -// visit(tg, 0); -// System.out.println("BOB: MUXlisten: ThreadGroup dump END\n\n"); -// nuke(tg,0); -// tg.destroy(); -// // Zap reference to the ThreadGroup so the JVM can GC it. -// tg = null; -// } } } diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java index 515594219e..3923484a80 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -587,6 +587,8 @@ public class I2PSnarkServlet extends HttpServlet { client = "I2PSnarkXL"; else if ("ZV".equals(ch.substring(2,4))) client = "Robert"; + else if ("VUZP".equals(ch)) + client = "Robert"; else client = "Unknown (" + ch + ')'; out.write("" + client + "  " + peer.toString().substring(5, 9) + ""); diff --git a/history.txt b/history.txt index 8aebfdd1aa..102aef6324 100644 --- a/history.txt +++ b/history.txt @@ -1,3 +1,7 @@ +2009-05-03 sponge + * More hopeful fixes for BOB. + * Added new Robert ID to snark + 2009-05-01 zzz * Build files: - Fix up susidns build file so it will work with gcj diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index 0ac10c058b..4ab27b06c8 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -18,7 +18,7 @@ public class RouterVersion { /** deprecated */ public final static String ID = "Monotone"; public final static String VERSION = CoreVersion.VERSION; - public final static long BUILD = 6; + public final static long BUILD = 7; /** for example "-test" */ public final static String EXTRA = ""; public final static String FULL_VERSION = VERSION + "-" + BUILD + EXTRA;