Author: nextgens
Date: 2006-09-01 20:18:27 +0000 (Fri, 01 Sep 2006)
New Revision: 10329
Modified:
trunk/freenet/src/freenet/clients/http/BookmarkManager.java
trunk/freenet/src/freenet/clients/http/ConfigToadlet.java
trunk/freenet/src/freenet/clients/http/SymlinkerToadlet.java
trunk/freenet/src/freenet/node/Node.java
trunk/freenet/src/freenet/node/NodeClientCore.java
trunk/freenet/src/freenet/node/TextModeClientInterface.java
trunk/freenet/src/freenet/plugin/PluginManager.java
trunk/freenet/src/freenet/pluginmanager/PluginManager.java
Log:
We don't need to write freenet.ini several times. Do it once after startup and
once one shutdown, it might smatch the corruption bug and weird race conditions
ones.
Modified: trunk/freenet/src/freenet/clients/http/BookmarkManager.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/BookmarkManager.java 2006-09-01
19:55:29 UTC (rev 10328)
+++ trunk/freenet/src/freenet/clients/http/BookmarkManager.java 2006-09-01
20:18:27 UTC (rev 10329)
@@ -73,8 +73,6 @@
} catch (MalformedURLException mue) {
}
}
-
- node.storeConfig();
}
}
@@ -134,7 +132,6 @@
try {
USK u = USK.create(b.key);
this.node.uskManager.subscribe(u, this.uskcb,
true);
- node.storeConfig();
} catch (MalformedURLException mue) {
}
@@ -151,6 +148,5 @@
}
}
this.bookmarks.remove(b);
- node.storeConfig();
}
}
Modified: trunk/freenet/src/freenet/clients/http/ConfigToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/ConfigToadlet.java 2006-09-01
19:55:29 UTC (rev 10328)
+++ trunk/freenet/src/freenet/clients/http/ConfigToadlet.java 2006-09-01
20:18:27 UTC (rev 10329)
@@ -84,7 +84,6 @@
}
}
}
- config.store();
HTMLNode pageNode =
ctx.getPageMaker().getPageNode("Configuration Applied");
HTMLNode contentNode =
ctx.getPageMaker().getContentNode(pageNode);
Modified: trunk/freenet/src/freenet/clients/http/SymlinkerToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/SymlinkerToadlet.java
2006-09-01 19:55:29 UTC (rev 10328)
+++ trunk/freenet/src/freenet/clients/http/SymlinkerToadlet.java
2006-09-01 20:18:27 UTC (rev 10329)
@@ -17,12 +17,10 @@
public class SymlinkerToadlet extends Toadlet {
private final HashMap linkMap = new HashMap();
- private final Node node;
SubConfig tslconfig;
- public SymlinkerToadlet(HighLevelSimpleClient client, Node node) {
+ public SymlinkerToadlet(HighLevelSimpleClient client,final Node node) {
super(client);
- this.node = node;
tslconfig = new SubConfig("toadletsymlinker", node.config);
tslconfig.register("symlinks", null, 9, true, false, "Symlinks
in ToadletServer",
"A list of \"alias#target\"'s that forms a
bunch of symlinks",
@@ -69,7 +67,6 @@
synchronized (linkMap) {
if (linkMap.put(alias, target) == alias) {
Logger.normal(this, "Adding link: " + alias + "
=> " + target);
- node.config.store();
return true;
} else {
Logger.error(this, "Adding link: " + alias + "
=> " + target);
@@ -83,7 +80,6 @@
Object o;
if ((o = linkMap.remove(alias))!= null) {
Logger.normal(this, "Removing link: " + alias +
" => " + o);
- node.config.store();
return true;
} else {
Logger.error(this, "Adding link: " + alias + "
=> " + o);
Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java 2006-09-01 19:55:29 UTC (rev
10328)
+++ trunk/freenet/src/freenet/node/Node.java 2006-09-01 20:18:27 UTC (rev
10329)
@@ -309,10 +309,6 @@
private static final long oldestNeverConnectedPeerAgeUpdateInterval =
5000;
/** age of oldest never connected peer (milliseconds) */
private long oldestNeverConnectedPeerAge;
- /** Next time to start a ready ARKFetcher */
- private long nextReadyARKFetcherStartTime = -1;
- /** Ready ARKFetcher start interval (milliseconds) */
- private static final long readyARKFetcherStartInterval = 1000;
/** Next time to update PeerManagerUserAlert stats */
private long nextPeerManagerUserAlertStatsUpdateTime = -1;
/** PeerManagerUserAlert stats update interval (milliseconds) */
@@ -460,6 +456,7 @@
// The watchdog will be silenced until it's true
private boolean hasStarted;
+ private boolean isStopping = false;
// Debugging stuff
private static final boolean USE_RAM_PUBKEYS_CACHE = true;
@@ -2374,7 +2371,10 @@
* May be called twice - once in exit (above) and then again
* from the wrapper triggered by calling System.exit(). Beware!
*/
- public void park() {
+ public synchronized void park() {
+ if(isStopping) return;
+ isStopping = true;
+
config.store();
}
Modified: trunk/freenet/src/freenet/node/NodeClientCore.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeClientCore.java 2006-09-01 19:55:29 UTC
(rev 10328)
+++ trunk/freenet/src/freenet/node/NodeClientCore.java 2006-09-01 20:18:27 UTC
(rev 10329)
@@ -736,10 +736,6 @@
Logger.error(this, "Don't know what to do with
"+block+" should be queued for reinsert");
}
- public void storeConfig() {
- node.config.store();
- }
-
public boolean isTestnetEnabled() {
return node.isTestnetEnabled();
}
Modified: trunk/freenet/src/freenet/node/TextModeClientInterface.java
===================================================================
--- trunk/freenet/src/freenet/node/TextModeClientInterface.java 2006-09-01
19:55:29 UTC (rev 10328)
+++ trunk/freenet/src/freenet/node/TextModeClientInterface.java 2006-09-01
20:18:27 UTC (rev 10329)
@@ -623,7 +623,6 @@
}catch(Exception e){
Logger.error(this, "Error setting node's name");
}
- n.config.store();
} else if(uline.startsWith("DISABLEPEER:")) {
String nodeIdentifier =
(line.substring("DISABLEPEER:".length())).trim();
if(!havePeer(nodeIdentifier)) {
Modified: trunk/freenet/src/freenet/plugin/PluginManager.java
===================================================================
--- trunk/freenet/src/freenet/plugin/PluginManager.java 2006-09-01 19:55:29 UTC
(rev 10328)
+++ trunk/freenet/src/freenet/plugin/PluginManager.java 2006-09-01 20:18:27 UTC
(rev 10329)
@@ -139,7 +139,6 @@
synchronized (syncObject) {
plugins.add(newPlugin);
}
- saveConfig();
}
/**
@@ -154,17 +153,9 @@
synchronized (syncObject) {
plugins.remove(plugin);
}
- saveConfig();
}
/**
- * Saves the configuration.
- */
- private void saveConfig() {
- config.config.store();
- }
-
- /**
* Creates a plugin from a name. The name can contain a URL for a jar
file
* from which the plugin is then loaded. If it does the URL and the
plugin
* name are separated by a '@', e.g.
Modified: trunk/freenet/src/freenet/pluginmanager/PluginManager.java
===================================================================
--- trunk/freenet/src/freenet/pluginmanager/PluginManager.java 2006-09-01
19:55:29 UTC (rev 10328)
+++ trunk/freenet/src/freenet/pluginmanager/PluginManager.java 2006-09-01
20:18:27 UTC (rev 10329)
@@ -100,11 +100,6 @@
return out.toString();
}
- private void saveConfig() {
- node.config.store();
- }
-
-
public void startPlugin(String filename) {
if (filename.trim().length() == 0)
return;
@@ -141,7 +136,6 @@
UserAlert.ERROR));
}
}
- saveConfig();
}
private void registerToadlet(FredPlugin pl){
@@ -176,7 +170,6 @@
if (removeKey != null)
pluginInfo.remove(removeKey);
}
- saveConfig();
}
public void addToadletSymlinks(PluginInfoWrapper pi) {
@@ -195,7 +188,6 @@
Logger.error(this, "removing Toadlet-link", ex);
}
}
- saveConfig();
}
public void removeToadletSymlinks(PluginInfoWrapper pi) {
@@ -217,7 +209,6 @@
Logger.error(this, "removing Toadlet-link: " +
rm, ex);
}
}
- saveConfig();
}
public String dumpPlugins() {