forked from I2P_Developers/i2p.i2p
2009-05-03 sponge
* More hopeful fixes for BOB. * Added new Robert ID to snark
This commit is contained in:
@ -265,23 +265,23 @@ public class MUXlisten implements Runnable {
|
|||||||
}
|
}
|
||||||
// Wait for child threads and thread groups to die
|
// Wait for child threads and thread groups to die
|
||||||
// System.out.println("MUXlisten: waiting for children");
|
// System.out.println("MUXlisten: waiting for children");
|
||||||
if (tg.activeCount() + tg.activeGroupCount() != 0) {
|
// if (tg.activeCount() + tg.activeGroupCount() != 0) {
|
||||||
tg.interrupt(); // give my stuff a small smack.
|
// tg.interrupt(); // give my stuff a small smack.
|
||||||
while ((tg.activeCount() + tg.activeGroupCount() != 0) && ticks != 0) {
|
// while ((tg.activeCount() + tg.activeGroupCount() != 0) && ticks != 0) {
|
||||||
ticks--;
|
// ticks--;
|
||||||
try {
|
// try {
|
||||||
Thread.sleep(100); //sleep for 100 ms (One tenth second)
|
// Thread.sleep(100); //sleep for 100 ms (One tenth second)
|
||||||
} catch (InterruptedException ex) {
|
// } catch (InterruptedException ex) {
|
||||||
break quit;
|
// break quit;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
if (tg.activeCount() + tg.activeGroupCount() != 0) {
|
// if (tg.activeCount() + tg.activeGroupCount() != 0) {
|
||||||
break quit; // Uh-oh.
|
// break quit; // Uh-oh.
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
tg.destroy();
|
//tg.destroy();
|
||||||
// Zap reference to the ThreadGroup so the JVM can GC it.
|
// Zap reference to the ThreadGroup so the JVM can GC it.
|
||||||
tg = null;
|
//tg = null;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// System.out.println("MUXlisten: Caught an exception" + e);
|
// System.out.println("MUXlisten: Caught an exception" + e);
|
||||||
break quit;
|
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!
|
// This is here to catch when something fucks up REALLY bad, like those annoying stuck threads!
|
||||||
if (tg != null) {
|
if (tg != null) {
|
||||||
tg.interrupt(); // give my stuff a small smack again.
|
// tg.interrupt(); // give my stuff a small smack again.
|
||||||
if (SS != null) {
|
if (SS != null) {
|
||||||
try {
|
try {
|
||||||
SS.close();
|
SS.close();
|
||||||
@ -319,21 +319,11 @@ public class MUXlisten implements Runnable {
|
|||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
I2PSession session = socketManager.getSession();
|
|
||||||
if (session != null) {
|
|
||||||
// System.out.println("I2Plistener: destroySession");
|
|
||||||
try {
|
|
||||||
session.destroySession();
|
|
||||||
} catch (I2PSessionException ex) {
|
|
||||||
// nop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
try {
|
try {
|
||||||
socketManager.destroySocketManager();
|
socketManager.destroySocketManager();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// nop
|
// nop
|
||||||
}
|
}
|
||||||
// ticks = 100; // 10 seconds
|
|
||||||
if (tg.activeCount() + tg.activeGroupCount() != 0) {
|
if (tg.activeCount() + tg.activeGroupCount() != 0) {
|
||||||
int foo = tg.activeCount() + tg.activeGroupCount();
|
int foo = tg.activeCount() + tg.activeGroupCount();
|
||||||
int bar = foo;
|
int bar = foo;
|
||||||
@ -352,15 +342,6 @@ public class MUXlisten implements Runnable {
|
|||||||
}
|
}
|
||||||
bar = foo;
|
bar = foo;
|
||||||
try {
|
try {
|
||||||
session = socketManager.getSession();
|
|
||||||
if (session != null) {
|
|
||||||
// System.out.println("I2Plistener: destroySession");
|
|
||||||
try {
|
|
||||||
session.destroySession();
|
|
||||||
} catch (I2PSessionException ex) {
|
|
||||||
// nop
|
|
||||||
}
|
|
||||||
}
|
|
||||||
try {
|
try {
|
||||||
socketManager.destroySocketManager();
|
socketManager.destroySocketManager();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@ -369,8 +350,6 @@ public class MUXlisten implements Runnable {
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// nop
|
// nop
|
||||||
}
|
}
|
||||||
// tg.interrupt(); // unwedge any blocking threads.
|
|
||||||
// ticks--;
|
|
||||||
try {
|
try {
|
||||||
Thread.sleep(100); //sleep for 100 ms (One tenth second)
|
Thread.sleep(100); //sleep for 100 ms (One tenth second)
|
||||||
} catch (InterruptedException ex) {
|
} catch (InterruptedException ex) {
|
||||||
@ -379,20 +358,9 @@ public class MUXlisten implements Runnable {
|
|||||||
}
|
}
|
||||||
System.out.println("BOB: MUXlisten: Threads went away. Success: " + boner);
|
System.out.println("BOB: MUXlisten: Threads went away. Success: " + boner);
|
||||||
}
|
}
|
||||||
// if (tg.activeCount() + tg.activeGroupCount() == 0) {
|
|
||||||
tg.destroy();
|
tg.destroy();
|
||||||
// Zap reference to the ThreadGroup so the JVM can GC it.
|
// Zap reference to the ThreadGroup so the JVM can GC it.
|
||||||
tg = null;
|
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;
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -587,6 +587,8 @@ public class I2PSnarkServlet extends HttpServlet {
|
|||||||
client = "I2PSnarkXL";
|
client = "I2PSnarkXL";
|
||||||
else if ("ZV".equals(ch.substring(2,4)))
|
else if ("ZV".equals(ch.substring(2,4)))
|
||||||
client = "Robert";
|
client = "Robert";
|
||||||
|
else if ("VUZP".equals(ch))
|
||||||
|
client = "Robert";
|
||||||
else
|
else
|
||||||
client = "Unknown (" + ch + ')';
|
client = "Unknown (" + ch + ')';
|
||||||
out.write("<font size=-1>" + client + "</font> <tt>" + peer.toString().substring(5, 9) + "</tt>");
|
out.write("<font size=-1>" + client + "</font> <tt>" + peer.toString().substring(5, 9) + "</tt>");
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
2009-05-03 sponge
|
||||||
|
* More hopeful fixes for BOB.
|
||||||
|
* Added new Robert ID to snark
|
||||||
|
|
||||||
2009-05-01 zzz
|
2009-05-01 zzz
|
||||||
* Build files:
|
* Build files:
|
||||||
- Fix up susidns build file so it will work with gcj
|
- Fix up susidns build file so it will work with gcj
|
||||||
|
@ -18,7 +18,7 @@ public class RouterVersion {
|
|||||||
/** deprecated */
|
/** deprecated */
|
||||||
public final static String ID = "Monotone";
|
public final static String ID = "Monotone";
|
||||||
public final static String VERSION = CoreVersion.VERSION;
|
public final static String VERSION = CoreVersion.VERSION;
|
||||||
public final static long BUILD = 6;
|
public final static long BUILD = 7;
|
||||||
/** for example "-test" */
|
/** for example "-test" */
|
||||||
public final static String EXTRA = "";
|
public final static String EXTRA = "";
|
||||||
public final static String FULL_VERSION = VERSION + "-" + BUILD + EXTRA;
|
public final static String FULL_VERSION = VERSION + "-" + BUILD + EXTRA;
|
||||||
|
Reference in New Issue
Block a user