Author: toad
Date: 2006-07-25 20:39:02 +0000 (Tue, 25 Jul 2006)
New Revision: 9762
Modified:
trunk/freenet/src/freenet/io/comm/UdpSocketManager.java
Log:
Maybe fix #517.
Modified: trunk/freenet/src/freenet/io/comm/UdpSocketManager.java
===================================================================
--- trunk/freenet/src/freenet/io/comm/UdpSocketManager.java 2006-07-25
20:13:46 UTC (rev 9761)
+++ trunk/freenet/src/freenet/io/comm/UdpSocketManager.java 2006-07-25
20:39:02 UTC (rev 9762)
@@ -26,8 +26,10 @@
import freenet.io.comm.Peer.LocalAddressException;
import freenet.node.ByteCounter;
+import freenet.node.LoggingConfigHandler;
import freenet.node.Node;
import freenet.node.PeerNode;
+import freenet.support.FileLoggerHook;
import freenet.support.Logger;
public class UdpSocketManager extends Thread {
@@ -81,7 +83,11 @@
// Probably caused by the
EvilJVMBug (see PacketSender).
// We'd better restart... :(
-
if(!Node.logConfigHandler.getFileLoggerHook().hasRedirectedStdOutErrNoLock())
+ LoggingConfigHandler lch =
Node.logConfigHandler;
+ FileLoggerHook flh = lch ==
null ? null : lch.getFileLoggerHook();
+ boolean hasRedirected = flh ==
null ? false : flh.hasRedirectedStdOutErrNoLock();
+
+ if(!hasRedirected)
System.err.println("Restarting node: UdpSocketManager froze for 3 minutes!");
try {
@@ -89,14 +95,14 @@
WrapperManager.requestThreadDump();
WrapperManager.restart();
}else{
-
if(!Node.logConfigHandler.getFileLoggerHook().hasRedirectedStdOutErrNoLock())
+
if(!hasRedirected)
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();
}
} catch (Throwable t) {
-
if(!Node.logConfigHandler.getFileLoggerHook().hasRedirectedStdOutErrNoLock()) {
+ if(!hasRedirected) {
System.err.println("Error : can't restart the node : consider installing the
wrapper. PLEASE REPORT THAT ERROR TO devl at freenetproject.org");
t.printStackTrace();
}