Author: toad
Date: 2006-07-25 15:09:06 +0000 (Tue, 25 Jul 2006)
New Revision: 9749

Modified:
   trunk/freenet/src/freenet/io/comm/UdpSocketManager.java
   trunk/freenet/src/freenet/node/Node.java
   trunk/freenet/src/freenet/node/NodeStarter.java
   trunk/freenet/src/freenet/node/TextModeClientInterfaceServer.java
   trunk/freenet/src/freenet/node/Version.java
   trunk/freenet/src/freenet/pluginmanager/PluginHandler.java
   trunk/freenet/src/freenet/support/FileLoggerHook.java
Log:
895: Maybe reduce the chances of the EvilJVMBug occurring: Daemonize a couple 
of threads.

Modified: trunk/freenet/src/freenet/io/comm/UdpSocketManager.java
===================================================================
--- trunk/freenet/src/freenet/io/comm/UdpSocketManager.java     2006-07-25 
14:39:04 UTC (rev 9748)
+++ trunk/freenet/src/freenet/io/comm/UdpSocketManager.java     2006-07-25 
15:09:06 UTC (rev 9749)
@@ -52,10 +52,6 @@
        // Icky layer violation, but we need to know the Node to work around 
the EvilJVMBug.
        private final Node node;

-       protected UdpSocketManager(Node node) {
-               this.node = node;
-       }
-
        public void start() {
                lastTimeInSeconds = (int) (System.currentTimeMillis() / 1000);
                setDaemon(true);

Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java    2006-07-25 14:39:04 UTC (rev 
9748)
+++ trunk/freenet/src/freenet/node/Node.java    2006-07-25 15:09:06 UTC (rev 
9749)
@@ -946,9 +946,6 @@

                DiffieHellman.init(random);

-               Thread t = new Thread(new MemoryChecker(), "Memory checker");
-               t.setPriority(Thread.MAX_PRIORITY);
-               t.start();
                /*
                SimpleToadletServer server = new SimpleToadletServer(port+2000);
                FProxyToadlet fproxy = new 
FProxyToadlet(n.makeClient(RequestStarter.INTERACTIVE_PRIORITY_CLASS));
@@ -989,6 +986,7 @@
                        }
                };
                Thread plug = new Thread(useless, "Plug");
+               // Don't setDaemon as this thread doesn't do anything, and we 
need one non-daemon thread to keep the JVM alive.
                plug.start();



Modified: trunk/freenet/src/freenet/node/NodeStarter.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeStarter.java     2006-07-25 14:39:04 UTC 
(rev 9748)
+++ trunk/freenet/src/freenet/node/NodeStarter.java     2006-07-25 15:09:06 UTC 
(rev 9749)
@@ -130,6 +130,9 @@
                        }
                };
                Thread plug = new Thread(useless, "Plug");
+               // Not daemon, but doesn't do anything.
+               // Keeps the JVM alive.
+               // DO NOT do anything in the plug thread, if you do you risk 
the EvilJVMBug.
                plug.start();

        WrapperManager.signalStarting(500000);

Modified: trunk/freenet/src/freenet/node/TextModeClientInterfaceServer.java
===================================================================
--- trunk/freenet/src/freenet/node/TextModeClientInterfaceServer.java   
2006-07-25 14:39:04 UTC (rev 9748)
+++ trunk/freenet/src/freenet/node/TextModeClientInterfaceServer.java   
2006-07-25 15:09:06 UTC (rev 9749)
@@ -240,9 +240,7 @@
                                        new TextModeClientInterface(this, in, 
out);

                                Thread t = new Thread(tmci, "Text mode client 
interface handler for "+s.getPort());
-                               
                                t.setDaemon(true);
-                               
                                t.start();

                        } catch (SocketTimeoutException e) {

Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2006-07-25 14:39:04 UTC (rev 
9748)
+++ trunk/freenet/src/freenet/node/Version.java 2006-07-25 15:09:06 UTC (rev 
9749)
@@ -18,7 +18,7 @@
        public static final String protocolVersion = "1.0";

        /** The build number of the current revision */
-       private static final int buildNumber = 894;
+       private static final int buildNumber = 895;

        /** Oldest build of Fred we will talk to */
        private static final int oldLastGoodBuild = 870;

Modified: trunk/freenet/src/freenet/pluginmanager/PluginHandler.java
===================================================================
--- trunk/freenet/src/freenet/pluginmanager/PluginHandler.java  2006-07-25 
14:39:04 UTC (rev 9748)
+++ trunk/freenet/src/freenet/pluginmanager/PluginHandler.java  2006-07-25 
15:09:06 UTC (rev 9749)
@@ -38,6 +38,7 @@

                public PluginStarter(PluginRespirator pr) {
                        this.pr = pr;
+                       setDaemon(true);
                }

                public void setPlugin(PluginManager pm, Object plugin) {

Modified: trunk/freenet/src/freenet/support/FileLoggerHook.java
===================================================================
--- trunk/freenet/src/freenet/support/FileLoggerHook.java       2006-07-25 
14:39:04 UTC (rev 9748)
+++ trunk/freenet/src/freenet/support/FileLoggerHook.java       2006-07-25 
15:09:06 UTC (rev 9749)
@@ -657,7 +657,7 @@
                if(redirectStdErr)
                        System.setErr(new PrintStream(new 
OutputStreamLogger(Logger.ERROR, "Stderr: ")));
                WriterThread wt = new WriterThread();
-               //wt.setDaemon(true);
+               wt.setDaemon(true);
                CloserThread ct = new CloserThread();
                Runtime.getRuntime().addShutdownHook(ct);
                wt.start();


Reply via email to