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