Author: j16sdiz
Date: 2009-04-08 05:03:54 +0000 (Wed, 08 Apr 2009)
New Revision: 26636
Modified:
trunk/freenet/src/freenet/node/PacketSender.java
Log:
Remove PacketSender Watchdog
Modified: trunk/freenet/src/freenet/node/PacketSender.java
===================================================================
--- trunk/freenet/src/freenet/node/PacketSender.java 2009-04-08 05:03:33 UTC
(rev 26635)
+++ trunk/freenet/src/freenet/node/PacketSender.java 2009-04-08 05:03:54 UTC
(rev 26636)
@@ -9,12 +9,9 @@
import java.util.TreeMap;
import java.util.Vector;
-import org.tanukisoftware.wrapper.WrapperManager;
-
import freenet.io.comm.Peer;
import freenet.l10n.L10n;
import freenet.node.useralerts.UserAlert;
-import freenet.support.FileLoggerHook;
import freenet.support.HTMLNode;
import freenet.support.LogThresholdCallback;
import freenet.support.Logger;
@@ -87,61 +84,7 @@
rpiTemp = new Vector<ResendPacketItem>();
rpiIntTemp = new int[64];
}
-
- /**
- * The main purpose of this thread is to detect the lost-lock deadlocks
that happen occasionally
- * on Sun VMs with NPTL enabled, and restart the node.
- *
- * Consequently it MUST NOT LOCK ANYTHING. That further means it must
not use the Logger, and even
- * System.err/System.out if they have been redirected.
- * @author root
- *
- */
- private class Watchdog implements Runnable {
-
- public void run() {
- freenet.support.Logger.OSThread.logPID(this);
- // Do not lock anything, or we may be caught up with a
lost-lock deadlock.
- while(true) {
- try {
- Thread.sleep(5000);
- } catch(InterruptedException e) {
- // Ignore
- }
- long now = System.currentTimeMillis();
- long recordedTime = ((long) lastTimeInSeconds)
* 1000;
- long diff = now - recordedTime;
- if((diff > 3 * 60 * 1000) &&
node.isHasStarted()) {
- FileLoggerHook flh =
Node.logConfigHandler.getFileLoggerHook();
- boolean redirected = flh != null &&
!flh.hasRedirectedStdOutErrNoLock();
- if(!redirected)
- System.err.println("Restarting
node: PacketSender froze for 3 minutes! (" + diff + ')');
-
- try {
- if(node.isUsingWrapper()) {
-
WrapperManager.requestThreadDump();
-
WrapperManager.restart();
- } else {
- if(!redirected)
-
System.err.println("Exiting on deadlock, but not running in the wrapper! Please
restart the node manually.");
-
- // No wrapper : we
don't want to let it harm the network!
- node.exit("PacketSender
deadlock");
- }
- } catch(Throwable t) {
-
if(!Node.logConfigHandler.getFileLoggerHook().hasRedirectedStdOutErrNoLock()) {
-
System.err.println("Error : can't restart the node : consider installing the
wrapper. PLEASE REPORT THAT ERROR TO [email protected]");
- t.printStackTrace();
- }
- node.exit("PacketSender
deadlock and error");
- }
-
- }
-
- }
- }
- }
-
+
void start(NodeStats stats) {
this.stats = stats;
Logger.normal(this, "Starting PacketSender");
@@ -161,12 +104,6 @@
}
}, transition - now);
lastTimeInSeconds = (int) (now / 1000);
- if(!node.disableHangCheckers) {
- // Necessary because of sun JVM bugs when NPTL is
enabled. Write once, debug everywhere!
- Thread t1 = new NativeThread(new Watchdog(),
"PacketSender watchdog", NativeThread.MAX_PRIORITY, false);
- t1.setDaemon(true);
- t1.start();
- }
myThread.start();
}
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs