[freenet-cvs] r15668 - trunk/freenet/src/freenet/node

nextgens at freenetproject.org nextgens at freenetproject.org
Sat Nov 3 12:24:45 UTC 2007


Author: nextgens
Date: 2007-11-03 12:24:45 +0000 (Sat, 03 Nov 2007)
New Revision: 15668

Modified:
   trunk/freenet/src/freenet/node/Node.java
   trunk/freenet/src/freenet/node/NodeClientCore.java
Log:
The object created should be GCable... hence it's better to nullify them.

Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java	2007-11-03 11:56:23 UTC (rev 15667)
+++ trunk/freenet/src/freenet/node/Node.java	2007-11-03 12:24:45 UTC (rev 15668)
@@ -362,7 +362,7 @@
 	public final long bootID;
 	public final long startupTime;
         
-        public final StartupToadletServer startupPageHolder;
+        private StartupToadletServer startupPageHolder;
 	
 	public final NodeClientCore clientCore;
 	
@@ -1261,7 +1261,7 @@
 		
 		nodeStats = new NodeStats(this, sortOrder, new SubConfig("node.load", config), oldThrottleFS, obwLimit, ibwLimit);
 		
-		clientCore = new NodeClientCore(this, config, nodeConfig, nodeDir, getDarknetPortNumber(), sortOrder, oldThrottleFS == null ? null : oldThrottleFS.subset("RequestStarters"), startupPageHolder);
+		clientCore = new NodeClientCore(this, config, nodeConfig, nodeDir, getDarknetPortNumber(), sortOrder, oldThrottleFS == null ? null : oldThrottleFS.subset("RequestStarters"));
 
 		nodeConfig.register("disableHangCheckers", false, sortOrder++, true, false, "Node.disableHangCheckers", "Node.disableHangCheckersLong", new BooleanCallback() {
 
@@ -2751,5 +2751,10 @@
 	public long getUptime() {
 		return System.currentTimeMillis() - usm.getStartedTime();
 	}
-
+        
+        protected void killStartupToadlet() throws IOException {
+            startupPageHolder.kill();
+            // Give it a chance to be GCed
+            startupPageHolder = null;
+        }
 }

Modified: trunk/freenet/src/freenet/node/NodeClientCore.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeClientCore.java	2007-11-03 11:56:23 UTC (rev 15667)
+++ trunk/freenet/src/freenet/node/NodeClientCore.java	2007-11-03 12:24:45 UTC (rev 15668)
@@ -16,7 +16,6 @@
 import freenet.clients.http.bookmark.BookmarkManager;
 import freenet.clients.http.FProxyToadlet;
 import freenet.clients.http.SimpleToadletServer;
-import freenet.clients.http.StartupToadletServer;
 import freenet.clients.http.filter.FilterCallback;
 import freenet.clients.http.filter.FoundURICallback;
 import freenet.clients.http.filter.GenericReadFilterCallback;
@@ -114,7 +113,7 @@
 	static final long MAX_ARCHIVED_FILE_SIZE = 1024*1024; // arbitrary... FIXME
 	static final int MAX_CACHED_ELEMENTS = 256*1024; // equally arbitrary! FIXME hopefully we can cache many of these though
 
-	NodeClientCore(Node node, Config config, SubConfig nodeConfig, File nodeDir, int portNumber, int sortOrder, SimpleFieldSet oldThrottleFS, StartupToadletServer sts) throws NodeInitException {
+	NodeClientCore(Node node, Config config, SubConfig nodeConfig, File nodeDir, int portNumber, int sortOrder, SimpleFieldSet oldThrottleFS) throws NodeInitException {
 		this.node = node;
 		this.nodeStats = node.nodeStats;
 		this.random = node.random;
@@ -352,7 +351,7 @@
 		// FProxy
 		// FIXME this is a hack, the real way to do this is plugins
 		try {
-                        sts.kill();
+                        node.killStartupToadlet();
 			toadletContainer = FProxyToadlet.maybeCreateFProxyEtc(this, node, config, fproxyConfig);
 		} catch (IOException e) {
 			e.printStackTrace();




More information about the cvs mailing list