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();
                                                        }


Reply via email to